Decrepit Mercenary
undead description [1]
SpectreY
AreaOgham Farmlands, The Ziggurat Refuge, Ogham Farmlands
Tags1HAxe_onhit_audio, melee, not_dex, not_int, physical_affinity, slow_movement, undead, zombie
Packs
  • Ogham Farmlands: Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • Ogham Farmlands: Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • The Ziggurat Refuge: Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • Life
    120%
    Armour
    +50%
    Ailment Threshold
    %
    Resistance
    0 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    5 ~ 8
    Attack Time
    1.755 Second
    Damage Spread
    ±20%
    Experience
    120%
    Model Size
    100%
    Type
    InfectedMercenaryOneHand
    Metadata
    InfectedMercenaryAxe__
    Level
    70
    Life
    10,459
    Armour
    3,877
    Evasion
    502
    Energy Shield
    0
    Damage
    297
    Spell Damage
    297
    Accuracy
    0
    Attack Time
    1.755
    Experience
    41,567
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 238–357
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 1.755 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]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	basic_action = "Revive"
    	basic_action = "Emerge"
    	basic_action = "Emerge2"
    	basic_action = "ChangeToStance1"
    	basic_action = "ChangeToStance2"
    }
    
    StateMachine
    {
    	define_shared_state = "fire;"
    }
    
    Stats
    {
    	set_base_heavy_stun_duration_ms = 2200
    }
    
    Transitionable
    
    {
    
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    StateMachine
    {
    	on_or_create_state_fire_2 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			this.my_torch_fire = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/PirateBarrel/ao/torch_fire.ao', L_Weapon_Fire );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', MainHand );
    		} );
    		IfVarietyContains( MaulIncin, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', MainHand );
    		} );
    		IfVarietyContains( AxeIncin, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', MainHand );
    		} );
    		SetAudioParam( WeaponFireEPK, 1 );
    	"
    
    	on_state_fire_0 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			my_torch_fire.SetLightState( off, GetCurrentAnimationLength(), 0 );
    			PlayAnimationAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/PirateBarrel/ao/torch_fire.ao', end_rand );
    		} );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', OffHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', OffHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', OffHand );
    	"
    
    	create_state_fire_0 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			my_torch_fire.SetLightState( off, 0, 0 );
    			my_torch.PlayAnimation( end_rand );
    			my_torch.GoToAnimationEnd();
    		} );
    	"
    
    	on_or_create_state_fire_1 =
    	"
    		IfVarietyContains( Axe__, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', MainHand );
    		} );
    		IfVarietyContains( Sword, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', MainHand );
    		} );
    		IfVarietyContains( AxeAxe, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', MainHand );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', OffHand );
    		} );
    		IfVarietyContains( SwordSword_, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', MainHand );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', OffHand );
    		} );
    		IfVarietyContains( Maul, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hmace.epk', MainHand );
    		} );
    	"
    }
    
    Transitionable
    
    {
    
    on_transition =
    
    "
    
    Roll( 1, 2, { PlayEffect( 'Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryAggroAudio.ao' ); } );
    
    "
    
    }
    
    Animated
    
    {
    
    preload_animated_object = "Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryAggroAudio.ao"
    
    }
    
    Render
    {
    	selection_size_override = "100, 100, 190"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Mercenary/Infected/InfectedMercenaryAxe__"] = {
        name = "Decrepit Mercenary",
        life = 1.2,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 1.2,
        damageSpread = 0.2,
        attackTime = 1.755,
        attackRange = 8,
        accuracy = 1,
        weaponType1 = "One Hand Axe",
        skillList = {
            "MeleeAtAnimationSpeed",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeed"] = {
        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 = { }, },
        },
    }
    
    undead description [1]
    IdMonsterNecromancerRaisable
    FamilyMonsterNecromancerRaisable
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    Decrepit Mercenary
    undead description [1]
    SpectreY
    AreaOgham Farmlands, The Ziggurat Refuge, Ogham Farmlands
    Tags1HSword_onhit_audio, melee, not_dex, not_int, physical_affinity, slow_movement, undead, zombie
    Packs
  • Ogham Farmlands: Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • Ogham Farmlands: Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • The Ziggurat Refuge: Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • Life
    120%
    Armour
    +50%
    Ailment Threshold
    %
    Resistance
    0 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    5 ~ 8
    Attack Time
    1.755 Second
    Damage Spread
    ±20%
    Experience
    120%
    Model Size
    100%
    Type
    InfectedMercenaryOneHand
    Metadata
    InfectedMercenarySword
    Level
    70
    Life
    10,459
    Armour
    3,877
    Evasion
    502
    Energy Shield
    0
    Damage
    297
    Spell Damage
    297
    Accuracy
    0
    Attack Time
    1.755
    Experience
    41,567
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 238–357
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 1.755 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]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	basic_action = "Revive"
    	basic_action = "Emerge"
    	basic_action = "Emerge2"
    	basic_action = "ChangeToStance1"
    	basic_action = "ChangeToStance2"
    }
    
    StateMachine
    {
    	define_shared_state = "fire;"
    }
    
    Stats
    {
    	set_base_heavy_stun_duration_ms = 2200
    }
    
    Transitionable
    
    {
    
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    StateMachine
    {
    	on_or_create_state_fire_2 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			this.my_torch_fire = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/PirateBarrel/ao/torch_fire.ao', L_Weapon_Fire );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', MainHand );
    		} );
    		IfVarietyContains( MaulIncin, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', MainHand );
    		} );
    		IfVarietyContains( AxeIncin, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', MainHand );
    		} );
    		SetAudioParam( WeaponFireEPK, 1 );
    	"
    
    	on_state_fire_0 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			my_torch_fire.SetLightState( off, GetCurrentAnimationLength(), 0 );
    			PlayAnimationAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/PirateBarrel/ao/torch_fire.ao', end_rand );
    		} );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', OffHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', OffHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', OffHand );
    	"
    
    	create_state_fire_0 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			my_torch_fire.SetLightState( off, 0, 0 );
    			my_torch.PlayAnimation( end_rand );
    			my_torch.GoToAnimationEnd();
    		} );
    	"
    
    	on_or_create_state_fire_1 =
    	"
    		IfVarietyContains( Axe__, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', MainHand );
    		} );
    		IfVarietyContains( Sword, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', MainHand );
    		} );
    		IfVarietyContains( AxeAxe, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', MainHand );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', OffHand );
    		} );
    		IfVarietyContains( SwordSword_, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', MainHand );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', OffHand );
    		} );
    		IfVarietyContains( Maul, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hmace.epk', MainHand );
    		} );
    	"
    }
    
    Transitionable
    
    {
    
    on_transition =
    
    "
    
    Roll( 1, 2, { PlayEffect( 'Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryAggroAudio.ao' ); } );
    
    "
    
    }
    
    Animated
    
    {
    
    preload_animated_object = "Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryAggroAudio.ao"
    
    }
    
    Render
    {
    	selection_size_override = "100, 100, 190"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Mercenary/Infected/InfectedMercenarySword"] = {
        name = "Decrepit Mercenary",
        life = 1.2,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 1.2,
        damageSpread = 0.2,
        attackTime = 1.755,
        attackRange = 8,
        accuracy = 1,
        weaponType1 = "One Hand Sword",
        skillList = {
            "MeleeAtAnimationSpeed",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeed"] = {
        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 = { }, },
        },
    }
    
    undead description [1]
    IdMonsterNecromancerRaisable
    FamilyMonsterNecromancerRaisable
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    Decrepit Mercenary
    undead description [1]
    SpectreY
    Tags1HSword_onhit_audio, not_dex, not_int, slow_movement, undead, zombie
    Life
    120%
    Armour
    +50%
    Ailment Threshold
    %
    Resistance
    0 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    5 ~ 11
    Attack Time
    1.755 Second
    Damage Spread
    ±20%
    Experience
    120%
    Model Size
    100%
    Type
    InfectedMercenaryOneHand
    Metadata
    InfectedMercenarySwordShield
    Level
    68
    Life
    9,308
    Armour
    3,451
    Evasion
    477
    Energy Shield
    0
    Damage
    280
    Spell Damage
    280
    Accuracy
    0
    Attack Time
    1.755
    Experience
    34,361
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 224–336
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 1.755 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]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	basic_action = "Revive"
    	basic_action = "Emerge"
    	basic_action = "Emerge2"
    	basic_action = "ChangeToStance1"
    	basic_action = "ChangeToStance2"
    }
    
    StateMachine
    {
    	define_shared_state = "fire;"
    }
    
    Stats
    {
    	set_base_heavy_stun_duration_ms = 2200
    }
    
    Transitionable
    
    {
    
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    StateMachine
    {
    	on_or_create_state_fire_2 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			this.my_torch_fire = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/PirateBarrel/ao/torch_fire.ao', L_Weapon_Fire );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', MainHand );
    		} );
    		IfVarietyContains( MaulIncin, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', MainHand );
    		} );
    		IfVarietyContains( AxeIncin, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', MainHand );
    		} );
    		SetAudioParam( WeaponFireEPK, 1 );
    	"
    
    	on_state_fire_0 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			my_torch_fire.SetLightState( off, GetCurrentAnimationLength(), 0 );
    			PlayAnimationAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/PirateBarrel/ao/torch_fire.ao', end_rand );
    		} );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', OffHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', OffHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', OffHand );
    	"
    
    	create_state_fire_0 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			my_torch_fire.SetLightState( off, 0, 0 );
    			my_torch.PlayAnimation( end_rand );
    			my_torch.GoToAnimationEnd();
    		} );
    	"
    
    	on_or_create_state_fire_1 =
    	"
    		IfVarietyContains( Axe__, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', MainHand );
    		} );
    		IfVarietyContains( Sword, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', MainHand );
    		} );
    		IfVarietyContains( AxeAxe, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', MainHand );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', OffHand );
    		} );
    		IfVarietyContains( SwordSword_, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', MainHand );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', OffHand );
    		} );
    		IfVarietyContains( Maul, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hmace.epk', MainHand );
    		} );
    	"
    }
    
    Transitionable
    
    {
    
    on_transition =
    
    "
    
    Roll( 1, 2, { PlayEffect( 'Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryAggroAudio.ao' ); } );
    
    "
    
    }
    
    Animated
    
    {
    
    preload_animated_object = "Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryAggroAudio.ao"
    
    }
    
    Render
    {
    	selection_size_override = "100, 100, 190"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Mercenary/Infected/InfectedMercenarySwordShield"] = {
        name = "Decrepit Mercenary",
        life = 1.2,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 1.2,
        damageSpread = 0.2,
        attackTime = 1.755,
        attackRange = 11,
        accuracy = 1,
        weaponType1 = "One Hand Sword",
        weaponType2 = "Shield",
        skillList = {
            "MeleeAtAnimationSpeed",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeed"] = {
        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 = { }, },
        },
    }
    
    undead description [1]
    IdMonsterNecromancerRaisable
    FamilyMonsterNecromancerRaisable
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    Decrepit Mercenary
    SpectreY
    AreaOgham Farmlands, The Manor Ramparts, The Ziggurat Refuge, Ogham Farmlands, The Manor Ramparts
    Tags1HAxe_onhit_audio, melee, not_dex, not_int, physical_affinity, slow_movement, undead, zombie
    Packs
  • Ogham Farmlands: Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • Ogham Farmlands: Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • The Manor Ramparts, The Manor Ramparts: Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • The Manor Ramparts, The Manor Ramparts: Iron Thaumaturgist, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • The Manor Ramparts, The Manor Ramparts: Iron Spearman, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • The Manor Ramparts, The Manor Ramparts: Iron Guard, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • The Ziggurat Refuge: Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • Life
    120%
    Armour
    +50%
    Ailment Threshold
    %
    Resistance
    0 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    5 ~ 11
    Attack Time
    1.755 Second
    Damage Spread
    ±20%
    Experience
    120%
    Model Size
    100%
    Type
    InfectedMercenaryOneHand
    Metadata
    InfectedMercenaryAxeAxe
    Level
    70
    Life
    10,459
    Armour
    3,877
    Evasion
    502
    Energy Shield
    0
    Damage
    297
    Spell Damage
    297
    Accuracy
    0
    Attack Time
    1.755
    Experience
    41,567
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 238–357
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 1.755 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]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	basic_action = "Revive"
    	basic_action = "Emerge"
    	basic_action = "Emerge2"
    	basic_action = "ChangeToStance1"
    	basic_action = "ChangeToStance2"
    }
    
    StateMachine
    {
    	define_shared_state = "fire;"
    }
    
    Stats
    {
    	set_base_heavy_stun_duration_ms = 2200
    }
    
    Transitionable
    
    {
    
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    StateMachine
    {
    	on_or_create_state_fire_2 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			this.my_torch_fire = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/PirateBarrel/ao/torch_fire.ao', L_Weapon_Fire );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', MainHand );
    		} );
    		IfVarietyContains( MaulIncin, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', MainHand );
    		} );
    		IfVarietyContains( AxeIncin, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', MainHand );
    		} );
    		SetAudioParam( WeaponFireEPK, 1 );
    	"
    
    	on_state_fire_0 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			my_torch_fire.SetLightState( off, GetCurrentAnimationLength(), 0 );
    			PlayAnimationAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/PirateBarrel/ao/torch_fire.ao', end_rand );
    		} );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', OffHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', OffHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', OffHand );
    	"
    
    	create_state_fire_0 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			my_torch_fire.SetLightState( off, 0, 0 );
    			my_torch.PlayAnimation( end_rand );
    			my_torch.GoToAnimationEnd();
    		} );
    	"
    
    	on_or_create_state_fire_1 =
    	"
    		IfVarietyContains( Axe__, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', MainHand );
    		} );
    		IfVarietyContains( Sword, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', MainHand );
    		} );
    		IfVarietyContains( AxeAxe, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', MainHand );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', OffHand );
    		} );
    		IfVarietyContains( SwordSword_, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', MainHand );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', OffHand );
    		} );
    		IfVarietyContains( Maul, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hmace.epk', MainHand );
    		} );
    	"
    }
    
    Transitionable
    
    {
    
    on_transition =
    
    "
    
    Roll( 1, 2, { PlayEffect( 'Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryAggroAudio.ao' ); } );
    
    "
    
    }
    
    Animated
    
    {
    
    preload_animated_object = "Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryAggroAudio.ao"
    
    }
    
    Render
    {
    	selection_size_override = "100, 100, 190"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Mercenary/Infected/InfectedMercenaryAxeAxe"] = {
        name = "Decrepit Mercenary",
        life = 1.2,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 1.2,
        damageSpread = 0.2,
        attackTime = 1.755,
        attackRange = 11,
        accuracy = 1,
        weaponType1 = "One Hand Axe",
        weaponType2 = "One Hand Axe",
        skillList = {
            "MeleeAtAnimationSpeed",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeed"] = {
        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 = { }, },
        },
    }
    
    undead description [1]
    IdMonsterNecromancerRaisable
    FamilyMonsterNecromancerRaisable
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    Decrepit Mercenary
    SpectreY
    AreaOgham Farmlands, The Manor Ramparts, The Ziggurat Refuge, Ogham Farmlands, The Manor Ramparts
    Tags1HSword_onhit_audio, melee, not_dex, not_int, physical_affinity, slow_movement, undead, zombie
    Packs
  • Ogham Farmlands: Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • Ogham Farmlands: Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • The Manor Ramparts, The Manor Ramparts: Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • The Manor Ramparts, The Manor Ramparts: Iron Thaumaturgist, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • The Manor Ramparts, The Manor Ramparts: Iron Spearman, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • The Manor Ramparts, The Manor Ramparts: Iron Guard, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • The Ziggurat Refuge: Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • Life
    120%
    Armour
    +50%
    Ailment Threshold
    %
    Resistance
    0 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    5 ~ 11
    Attack Time
    1.755 Second
    Damage Spread
    ±20%
    Experience
    120%
    Model Size
    100%
    Type
    InfectedMercenaryOneHand
    Metadata
    InfectedMercenarySwordSword_
    Level
    70
    Life
    10,459
    Armour
    3,877
    Evasion
    502
    Energy Shield
    0
    Damage
    297
    Spell Damage
    297
    Accuracy
    0
    Attack Time
    1.755
    Experience
    41,567
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 238–357
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 1.755 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]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	basic_action = "Revive"
    	basic_action = "Emerge"
    	basic_action = "Emerge2"
    	basic_action = "ChangeToStance1"
    	basic_action = "ChangeToStance2"
    }
    
    StateMachine
    {
    	define_shared_state = "fire;"
    }
    
    Stats
    {
    	set_base_heavy_stun_duration_ms = 2200
    }
    
    Transitionable
    
    {
    
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    StateMachine
    {
    	on_or_create_state_fire_2 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			this.my_torch_fire = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/PirateBarrel/ao/torch_fire.ao', L_Weapon_Fire );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', MainHand );
    		} );
    		IfVarietyContains( MaulIncin, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', MainHand );
    		} );
    		IfVarietyContains( AxeIncin, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', MainHand );
    		} );
    		SetAudioParam( WeaponFireEPK, 1 );
    	"
    
    	on_state_fire_0 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			my_torch_fire.SetLightState( off, GetCurrentAnimationLength(), 0 );
    			PlayAnimationAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/PirateBarrel/ao/torch_fire.ao', end_rand );
    		} );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', OffHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', OffHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', OffHand );
    	"
    
    	create_state_fire_0 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			my_torch_fire.SetLightState( off, 0, 0 );
    			my_torch.PlayAnimation( end_rand );
    			my_torch.GoToAnimationEnd();
    		} );
    	"
    
    	on_or_create_state_fire_1 =
    	"
    		IfVarietyContains( Axe__, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', MainHand );
    		} );
    		IfVarietyContains( Sword, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', MainHand );
    		} );
    		IfVarietyContains( AxeAxe, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', MainHand );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', OffHand );
    		} );
    		IfVarietyContains( SwordSword_, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', MainHand );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', OffHand );
    		} );
    		IfVarietyContains( Maul, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hmace.epk', MainHand );
    		} );
    	"
    }
    
    Transitionable
    
    {
    
    on_transition =
    
    "
    
    Roll( 1, 2, { PlayEffect( 'Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryAggroAudio.ao' ); } );
    
    "
    
    }
    
    Animated
    
    {
    
    preload_animated_object = "Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryAggroAudio.ao"
    
    }
    
    Render
    {
    	selection_size_override = "100, 100, 190"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Mercenary/Infected/InfectedMercenarySwordSword_"] = {
        name = "Decrepit Mercenary",
        life = 1.2,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 1.2,
        damageSpread = 0.2,
        attackTime = 1.755,
        attackRange = 11,
        accuracy = 1,
        weaponType1 = "One Hand Sword",
        weaponType2 = "One Hand Sword",
        skillList = {
            "MeleeAtAnimationSpeed",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeed"] = {
        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 = { }, },
        },
    }
    
    undead description [1]
    IdMonsterNecromancerRaisable
    FamilyMonsterNecromancerRaisable
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    Decrepit Mercenary
    undead description [1]
    SpectreY
    Tags2HBluntMetal_onhit_audio, not_dex, not_int, slow_movement, undead, zombie
    Life
    120%
    Armour
    +50%
    Ailment Threshold
    %
    Resistance
    0 0 0 0
    Damage
    144%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    5 ~ 9
    Attack Time
    2.25 Second
    Damage Spread
    ±20%
    Experience
    120%
    Model Size
    100%
    Type
    InfectedMercenaryTwoHand
    Metadata
    InfectedMercenaryMaul
    Level
    68
    Life
    9,308
    Armour
    3,451
    Evasion
    477
    Energy Shield
    0
    Damage
    336
    Spell Damage
    336
    Accuracy
    0
    Attack Time
    2.25
    Experience
    34,361
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 269–403
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 2.25 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]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	basic_action = "Revive"
    	basic_action = "Emerge"
    	basic_action = "Emerge2"
    	basic_action = "ChangeToStance1"
    	basic_action = "ChangeToStance2"
    }
    
    StateMachine
    {
    	define_shared_state = "fire;"
    }
    
    Stats
    {
    	set_base_heavy_stun_duration_ms = 2200
    }
    
    Transitionable
    
    {
    
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    StateMachine
    {
    	on_or_create_state_fire_2 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			this.my_torch_fire = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/PirateBarrel/ao/torch_fire.ao', L_Weapon_Fire );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', MainHand );
    		} );
    		IfVarietyContains( MaulIncin, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', MainHand );
    		} );
    		IfVarietyContains( AxeIncin, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', MainHand );
    		} );
    		SetAudioParam( WeaponFireEPK, 1 );
    	"
    
    	on_state_fire_0 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			my_torch_fire.SetLightState( off, GetCurrentAnimationLength(), 0 );
    			PlayAnimationAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/PirateBarrel/ao/torch_fire.ao', end_rand );
    		} );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', OffHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', OffHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', OffHand );
    	"
    
    	create_state_fire_0 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			my_torch_fire.SetLightState( off, 0, 0 );
    			my_torch.PlayAnimation( end_rand );
    			my_torch.GoToAnimationEnd();
    		} );
    	"
    
    	on_or_create_state_fire_1 =
    	"
    		IfVarietyContains( Axe__, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', MainHand );
    		} );
    		IfVarietyContains( Sword, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', MainHand );
    		} );
    		IfVarietyContains( AxeAxe, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', MainHand );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', OffHand );
    		} );
    		IfVarietyContains( SwordSword_, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', MainHand );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', OffHand );
    		} );
    		IfVarietyContains( Maul, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hmace.epk', MainHand );
    		} );
    	"
    }
    
    Transitionable
    
    {
    
    on_transition =
    
    "
    
    Roll( 1, 2, { PlayEffect( 'Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryAggroAudio.ao' ); } );
    
    "
    
    }
    
    Animated
    
    {
    
    preload_animated_object = "Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryAggroAudio.ao"
    
    }
    
    Render
    {
    	selection_size_override = "100, 100, 190"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Mercenary/Infected/InfectedMercenaryMaul"] = {
        name = "Decrepit Mercenary",
        life = 1.2,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 1.44,
        damageSpread = 0.2,
        attackTime = 2.25,
        attackRange = 9,
        accuracy = 1,
        weaponType1 = "Two Hand Mace",
        skillList = {
            "MeleeAtAnimationSpeed",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeed"] = {
        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 = { }, },
        },
    }
    
    undead description [1]
    IdMonsterNecromancerRaisable
    FamilyMonsterNecromancerRaisable
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    Decrepit Mercenary
    undead description [1]
    SpectreY
    TagsArrow_onhit_audio, not_dex, not_int, slow_movement, undead, zombie
    Life
    120%
    Armour
    +50%
    Ailment Threshold
    %
    Resistance
    0 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    6 ~ 55
    Attack Time
    3.75 Second
    Damage Spread
    ±20%
    Experience
    120%
    Model Size
    100%
    Type
    InfectedMercenaryRanged
    Metadata
    InfectedMercenaryBow
    Level
    68
    Life
    9,308
    Armour
    3,451
    Evasion
    477
    Energy Shield
    0
    Damage
    280
    Spell Damage
    280
    Accuracy
    0
    Attack Time
    3.75
    Experience
    34,361
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 224–336
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 3.75 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]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	basic_action = "Revive"
    	basic_action = "Emerge"
    	basic_action = "Emerge2"
    	basic_action = "ChangeToStance1"
    	basic_action = "ChangeToStance2"
    }
    
    StateMachine
    {
    	define_shared_state = "fire;"
    }
    
    Stats
    {
    	set_base_heavy_stun_duration_ms = 2200
    }
    
    Transitionable
    
    {
    
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    StateMachine
    {
    	on_or_create_state_fire_2 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			this.my_torch_fire = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/PirateBarrel/ao/torch_fire.ao', L_Weapon_Fire );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', MainHand );
    		} );
    		IfVarietyContains( MaulIncin, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', MainHand );
    		} );
    		IfVarietyContains( AxeIncin, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', MainHand );
    		} );
    		SetAudioParam( WeaponFireEPK, 1 );
    	"
    
    	on_state_fire_0 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			my_torch_fire.SetLightState( off, GetCurrentAnimationLength(), 0 );
    			PlayAnimationAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/PirateBarrel/ao/torch_fire.ao', end_rand );
    		} );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', OffHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', OffHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', OffHand );
    	"
    
    	create_state_fire_0 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			my_torch_fire.SetLightState( off, 0, 0 );
    			my_torch.PlayAnimation( end_rand );
    			my_torch.GoToAnimationEnd();
    		} );
    	"
    
    	on_or_create_state_fire_1 =
    	"
    		IfVarietyContains( Axe__, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', MainHand );
    		} );
    		IfVarietyContains( Sword, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', MainHand );
    		} );
    		IfVarietyContains( AxeAxe, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', MainHand );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', OffHand );
    		} );
    		IfVarietyContains( SwordSword_, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', MainHand );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', OffHand );
    		} );
    		IfVarietyContains( Maul, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hmace.epk', MainHand );
    		} );
    	"
    }
    
    Transitionable
    
    {
    
    on_transition =
    
    "
    
    Roll( 1, 2, { PlayEffect( 'Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryAggroAudio.ao' ); } );
    
    "
    
    }
    
    Animated
    
    {
    
    preload_animated_object = "Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryAggroAudio.ao"
    
    }
    
    Render
    {
    	selection_size_override = "100, 100, 190"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Mercenary/Infected/InfectedMercenaryBow"] = {
        name = "Decrepit Mercenary",
        life = 1.2,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 1.2,
        damageSpread = 0.2,
        attackTime = 3.75,
        attackRange = 55,
        accuracy = 1,
        weaponType1 = "Bow",
        skillList = {
            "MeleeAtAnimationSpeed",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeed"] = {
        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 = { }, },
        },
    }
    
    undead description [1]
    IdMonsterNecromancerRaisable
    FamilyMonsterNecromancerRaisable
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    Decrepit Mercenary
    undead description [1]
    stance movement speed +% final [-71]
    SpectreY
    AreaOgham Farmlands, The Manor Ramparts, The Ziggurat Refuge, Ogham Farmlands, The Manor Ramparts
    Tagsallows_additional_projectiles, allows_inc_aoe, Arrow_onhit_audio, monster_barely_moves, not_dex, not_int, physical_affinity, ranged, slow_movement, undead, zombie
    Packs
  • The Manor Ramparts, The Manor Ramparts: Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • The Manor Ramparts, The Manor Ramparts: Iron Thaumaturgist, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • The Manor Ramparts, The Manor Ramparts: Iron Spearman, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • The Manor Ramparts, The Manor Ramparts: Iron Guard, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • Ogham Farmlands, Ogham Farmlands: Decrepit Mercenary
  • The Ziggurat Refuge: Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • The Ziggurat Refuge: Decrepit Mercenary
  • Life
    120%
    Armour
    +50%
    Ailment Threshold
    %
    Resistance
    0 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    6 ~ 55
    Attack Time
    3.75 Second
    Damage Spread
    ±20%
    Experience
    120%
    Model Size
    100%
    Type
    InfectedMercenaryRanged
    Metadata
    InfectedMercenaryCrossbow
    Level
    70
    Life
    10,459
    Armour
    3,877
    Evasion
    502
    Energy Shield
    0
    Damage
    297
    Spell Damage
    297
    Accuracy
    0
    Attack Time
    3.75
    Experience
    41,567
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 238–357
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 3.75 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]
    MPWInfectedMercenarySnipe
    Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Damage, Triggerable
    Base Damage: 238–357
    [Critical|Critical Hit] Chance: 5%
    Attack Damage: 250%
    Attack Time: 3.75 sec
    Cooldown Time: 6.7 sec
    Deals 150% more Attack Damage
    100% more Stun buildup
    Overwhelm 30% Physical Damage Reduction
    action attack or cast time uses animation length [2]
    base is projectile [1]
    check for targets between initiator and projectile source [1]
    monster projectile variation [1056]
    projectile ballistic angle from target distance [1]
    projectile uses contact position [1]
    spell maximum action distance +% [-45]
    use scaled contact offset [1]
    MPWInfectedMercenaryMinigun
    Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Damage, Triggerable
    Base Damage: 238–357
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 3.75 sec
    base is projectile [1]
    cast time overrides attack duration [1]
    chance to apply suppression on hit % [100]
    check for targets between initiator and projectile source [1]
    main hand base maximum attack distance [25]
    monster projectile variation [1057]
    projectile spread radius [3]
    projectile uses contact position [1]
    use scaled contact offset [1]
    BurstShotArmourPiercingBoltMonster
    Attack, RangedAttack, Projectile, ProjectilesFromUser, CrossbowSkill, Trappable, Totemable, Mineable, Nonpathing, SkillConsumesFreeze
    Fragmentation Rounds
    Base Damage: 238–357
    [Critical|Critical Hit] Chance: 5%
    Attack Damage: 40%
    Attack Time: 3.75 sec
    Fires Piercing bolts that fragment in flight. Bolts that hit a Frozen enemy Consume the Freeze and cause an explosion of shrapnel. Bolts that hit an Ice Crystal cause it to explode.
    Deals 60% less Attack Damage
    Knocks Back Enemies
    100% more Stun buildup
    Overwhelm 30% Physical Damage Reduction
    Fires 8 fragments per shot
    Bolts Pierce 2 Targets
    Multiple fragments can Hit the same target
    Multiple Fragments hitting a target simultaniously will combine their damage into a single Hit
    action attack or cast time uses animation length [1]
    action required target facing angle tolerance degrees [90]
    action requires aiming stance [1]
    active skill projectile speed +% variation final [60]
    attack maximum action distance + [-45]
    base is projectile [1]
    cannot cancel skill before contact point [1]
    check for targets between initiator and projectile source [1]
    destroy frost wall segment on hit [1]
    disable visual hit effect [1]
    projectile distance variance [10]
    projectile uses contact direction [1]
    projectile uses contact position [1]
    projectiles normal distribution height mean [1]
    projectiles normal distribution height standard deviation [3]
    projectiles normal distribution spread standard deviation [8]
    BurstShotIncendiaryBoltMonster
    Attack, RangedAttack, Projectile, ProjectilesFromUser, Area, CrossbowSkill, Trappable, Totemable, Mineable, Fire, Nonpathing
    Incendiary Shot
    Base Damage: 238–357
    [Critical|Critical Hit] Chance: 5%
    Attack Damage: 15%
    Attack Time: 3.75 sec
    Fires flaming bolts that fragment in flight, damaging and Igniting enemies on hit, and in a small cone behind their final target.
    Deals 85% less Attack Damage
    Converts 80% of Physical Damage to Fire Damage
    Knocks Back Enemies
    Always Ignites
    Bolts shatter on impact, dealing Damage in a 1.4 metre cone
    Fires 8 fragments per shot
    Multiple fragments can Hit the same target
    Multiple Fragments hitting a target simultaniously will combine their damage into a single Hit
    action required target facing angle tolerance degrees [90]
    action requires aiming stance [1]
    active skill maintains total ignite damage per minute [1]
    active skill projectile speed +% variation final [40]
    attack maximum action distance + [-45]
    base is projectile [1]
    burst shot cone angle [220]
    cannot cancel skill before contact point [1]
    check for targets between initiator and projectile source [1]
    disable visual hit effect [1]
    projectile distance variance [10]
    projectile uses contact direction [1]
    projectile uses contact position [1]
    projectiles normal distribution height mean [1]
    projectiles normal distribution height standard deviation [3]
    projectiles normal distribution spread standard deviation [8]
    RapidShotIncendiaryBoltMonster
    Attack, RangedAttack, Projectile, ProjectilesFromUser, CrossbowSkill, Trappable, Totemable, Mineable, Nonpathing, Fire
    Rapid Shot
    Base Damage: 238–357
    [Critical|Critical Hit] Chance: 5%
    Attack Damage: 15%
    Attack Time: 3.75 sec
    Fires heavily modified bolts that cause Heat to build up on your crossbow. Using this skill causes an initial buildup of Heat before unleashing a stream of flaming bolts that gain Fire Damage based on your Heat. Heat also grants bonus damage to Grenades you fire, but dissipates rapidly when not building up. Can fire a large number of bolts before needing to reload.
    Deals 85% less Attack Damage
    Converts 60% of Physical Damage to Fire Damage
    Knocks Back Enemies
    Maximum 12 Heat
    action do not face target [1]
    action required target facing angle tolerance degrees [60]
    action requires aiming stance [1]
    active skill facing angle turn duration ms [100]
    active skill override turn duration ms [100]
    attack maximum action distance + [-50]
    base is projectile [1]
    base skill effect duration [80]
    can perform skill while moving [1]
    check for targets between initiator and projectile source [1]
    disable visual hit effect [1]
    projectile uses contact direction [1]
    projectile uses contact position [1]
    projectiles crossbow barrage [1]
    rapid shot minimum stacks required to fire [7]
    GAInfectedMercIncendiaryBoltImpact
    Triggerable, Attack
    Base Damage: 238–357
    [Critical|Critical Hit] Chance: 5%
    Attack Damage: 270%
    Attack Time: 3.75 sec
    Deals 170% more Attack Damage
    Converts 80% of Physical Damage to Fire Damage
    action attack or cast time uses animation length [1]
    base is projectile [2]
    base skill can be avoided by dodge roll [1]
    base skill can be blocked [1]
    is area damage [1]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	actor = "Metadata/Monsters/Mercenary/Infected/InfectedMercenaryCrossbow.act"
    	basic_action = "Revive"
    	basic_action = "Emerge"
    	basic_action = "Emerge2"
    	basic_action = "ChangeToStance1"
    	basic_action = "ChangeToStance2"
    }
    
    StateMachine
    {
    	define_shared_state = "lock_on;"
    	on_state_lock_on_0 = "SetUsesDirectionalRunAnimations( false );"
    	on_state_lock_on_1 = "SetUsesDirectionalRunAnimations( true );"
    }
    
    Functions
    {
    	marker_height =
    	"
    		this.temp = arg2;
    
    		arg1.SetHeight( this.temp.GetHeight() );
    	"
    }
    
    Transitionable
    
    {
    
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	on_effect_start_MPWInfectedMercIncendiaryBolt = "AddEffectPackAttached( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/crossbow_weaponheat.epk', 'Metadata/Monsters/LeagueHeist/Military/attachments/Crossbow.ao' );"
    }
    
    Transitionable
    {
    	on_transition =
    	"
    		Roll( 1, 2,
    		{
    			PlayEffect( 'Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryCrossbowAggroAudio.ao' );
    		} );
    	"
    }
    
    Animated
    {
    	preload_animated_object = "Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryCrossbowAggroAudio.ao"
    }
    
    Preload
    {
    	preload_particle = "Metadata/Effects/Spells/crossbow_armour_piercing/pet/power_impact.pet"
    	preload_particle = "Metadata/Effects/Spells/crossbow_basic/pet/burst_impact.pet"
    	preload_particle = "Metadata/Effects/Spells/crossbow_armour_piercing/pet/power_pierce.pet"
    }
    
    Render
    {
    	selection_size_override = "100, 100, 190"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Mercenary/Infected/InfectedMercenaryCrossbow"] = {
        name = "Decrepit Mercenary",
        life = 1.2,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 1.2,
        damageSpread = 0.2,
        attackTime = 3.75,
        attackRange = 55,
        accuracy = 1,
        weaponType1 = "Bow",
        skillList = {
            "MeleeAtAnimationSpeed",
            "MPWInfectedMercenarySnipe",
            "MPWInfectedMercenaryMinigun",
            "GAInfectedMercIncendiaryBoltImpact",
            "BurstShotArmourPiercingBoltMonster",
            "BurstShotIncendiaryBoltMonster",
            "RapidShotIncendiaryBoltMonster",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeed"] = {
        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["MPWInfectedMercenarySnipe"] = {
        name = "MPWInfectedMercenarySnipe",
        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,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "monster_projectile_variation",
            "active_skill_hit_damage_stun_multiplier_+%_final",
            "enemy_phys_reduction_%_penalty_vs_hit",
            "projectile_base_number_of_targets_to_pierce",
            "spell_maximum_action_distance_+%",
            "base_is_projectile",
            "action_attack_or_cast_time_uses_animation_length",
            "check_for_targets_between_initiator_and_projectile_source",
            "projectile_ballistic_angle_from_target_distance",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {1056, 100, 30, 0, -45, baseMultiplier = 2.5, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MPWInfectedMercenaryMinigun"] = {
        name = "MPWInfectedMercenaryMinigun",
        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,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "monster_projectile_variation",
            "main_hand_base_maximum_attack_distance",
            "projectile_spread_radius",
            "chance_to_apply_suppression_on_hit_%",
            "base_is_projectile",
            "check_for_targets_between_initiator_and_projectile_source",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
            "cast_time_overrides_attack_duration",
        },
        levels = {
            [1] = {1057, 25, 3, 100, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GAInfectedMercIncendiaryBoltImpact"] = {
        name = "GAInfectedMercIncendiaryBoltImpact",
        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,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_base_physical_damage_%_to_convert_to_fire",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
            "base_is_projectile",
            "base_skill_can_be_blocked",
            "base_skill_can_be_avoided_by_dodge_roll",
            "base_is_projectile",
        },
        levels = {
            [1] = {80, baseMultiplier = 2.7, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["BurstShotArmourPiercingBoltMonster"] = {
        name = "Fragmentation Rounds",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Fires [Pierce|Piercing] bolts that fragment in flight. Bolts that hit a [Frozen] enemy [Consume] the [Freeze] and cause an explosion of shrapnel. Bolts that hit an [IceCrystals|Ice Crystal] cause it to explode.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.CrossbowSkill] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Nonpathing] = true,
            [SkillType.SkillConsumesFreeze] = true,
        },
        statDescriptionScope = "burst_shot_piercing",
        castTime = 1.5,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "projectiles_normal_distribution_height_mean",
            "projectiles_normal_distribution_height_standard_deviation",
            "projectiles_normal_distribution_spread_standard_deviation",
            "action_required_target_facing_angle_tolerance_degrees",
            "base_number_of_projectiles",
            "projectile_distance_variance",
            "active_skill_projectile_speed_+%_variation_final",
            "active_skill_hit_damage_stun_multiplier_+%_final",
            "enemy_phys_reduction_%_penalty_vs_hit",
            "projectile_base_number_of_targets_to_pierce",
            "base_knockback_distance",
            "attack_maximum_action_distance_+",
            "base_is_projectile",
            "projectiles_can_shotgun",
            "action_requires_aiming_stance",
            "projectile_uses_contact_position",
            "projectile_uses_contact_direction",
            "check_for_targets_between_initiator_and_projectile_source",
            "cannot_cancel_skill_before_contact_point",
            "destroy_frost_wall_segment_on_hit",
            "disable_visual_hit_effect",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {1, 3, 8, 90, 8, 10, 60, 100, 30, 2, 100, -45, baseMultiplier = 0.4, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["BurstShotIncendiaryBoltMonster"] = {
        name = "Incendiary Shot",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Fires flaming bolts that fragment in flight, damaging and [Ignite|Igniting] enemies on hit, and in a small cone behind their final target.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Area] = true,
            [SkillType.CrossbowSkill] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Fire] = true,
            [SkillType.Nonpathing] = true,
        },
        statDescriptionScope = "burst_shot_incendiary",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "projectiles_normal_distribution_height_mean",
            "projectiles_normal_distribution_height_standard_deviation",
            "projectiles_normal_distribution_spread_standard_deviation",
            "action_required_target_facing_angle_tolerance_degrees",
            "base_number_of_projectiles",
            "projectile_distance_variance",
            "active_skill_projectile_speed_+%_variation_final",
            "active_skill_hit_damage_stun_multiplier_+%_final",
            "active_skill_base_physical_damage_%_to_convert_to_fire",
            "base_knockback_distance",
            "burst_shot_cone_angle",
            "active_skill_base_area_of_effect_radius",
            "attack_maximum_action_distance_+",
            "base_is_projectile",
            "projectiles_can_shotgun",
            "disable_visual_hit_effect",
            "action_requires_aiming_stance",
            "projectile_uses_contact_position",
            "projectile_uses_contact_direction",
            "check_for_targets_between_initiator_and_projectile_source",
            "cannot_cancel_skill_before_contact_point",
            "active_skill_maintains_total_ignite_damage_per_minute",
            "always_ignite",
        },
        levels = {
            [1] = {1, 3, 8, 90, 8, 10, 40, 0, 80, 75, 220, 14, -45, baseMultiplier = 0.15, levelRequirement = 15.932, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["RapidShotIncendiaryBoltMonster"] = {
        name = "Rapid Shot",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Fires heavily modified bolts that cause Heat to build up on your crossbow. Using this skill causes an initial buildup of Heat before unleashing a stream of flaming bolts that gain [Fire] Damage based on your Heat. Heat also grants bonus damage to Grenades you fire, but dissipates rapidly when not building up. Can fire a large number of bolts before needing to reload.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.CrossbowSkill] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Nonpathing] = true,
            [SkillType.Fire] = true,
        },
        statDescriptionScope = "rapid_shot_incendiary",
        castTime = 1,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "rapid_shot_maximum_num_of_stacks",
            "action_required_target_facing_angle_tolerance_degrees",
            "active_skill_base_physical_damage_%_to_convert_to_fire",
            "base_skill_effect_duration",
            "rapid_shot_minimum_stacks_required_to_fire",
            "active_skill_override_turn_duration_ms",
            "active_skill_facing_angle_turn_duration_ms",
            "base_knockback_distance",
            "attack_maximum_action_distance_+",
            "base_is_projectile",
            "action_requires_aiming_stance",
            "projectile_uses_contact_position",
            "projectile_uses_contact_direction",
            "check_for_targets_between_initiator_and_projectile_source",
            "projectiles_crossbow_barrage",
            "disable_visual_hit_effect",
            "action_do_not_face_target",
            "can_perform_skill_while_moving",
        },
        levels = {
            [1] = {12, 60, 60, 80, 7, 100, 100, 30, -50, baseMultiplier = 0.15, levelRequirement = 15.932, statInterpolation = {1},  cost = { }, },
        },
    }
    
    undead description [1]
    IdMonsterNecromancerRaisable
    FamilyMonsterNecromancerRaisable
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    IdNothing
    FamilyNothing
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    stance movement speed +% final [-71]
    IdStanceMovementSpeedNegative71_
    FamilyStance
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • stance movement speed +% final Min: -71 Max: -71 Global
  • Decrepit Mercenary
    undead description [1]
    stance movement speed +% final [-71]
    SpectreY
    AreaOgham Village, The Ziggurat Refuge, Ogham Village
    Tagsallows_additional_projectiles, allows_inc_aoe, Arrow_onhit_audio, fire_affinity, monster_barely_moves, not_dex, not_int, ranged, slow_movement, undead, zombie
    Packs
  • Ogham Village, Ogham Village: Decrepit Mercenary
  • Ogham Village, Ogham Village: Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • The Ziggurat Refuge: Iron Thaumaturgist, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • The Ziggurat Refuge: Iron Enforcer, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • The Ziggurat Refuge: Decrepit Mercenary
  • Life
    120%
    Armour
    +50%
    Ailment Threshold
    %
    Resistance
    30 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    6 ~ 55
    Attack Time
    3.75 Second
    Damage Spread
    ±20%
    Experience
    120%
    Model Size
    100%
    Type
    InfectedMercenaryRangedIncin
    Metadata
    InfectedMercenaryCrossbowIncin
    Level
    70
    Life
    10,459
    Armour
    3,877
    Evasion
    502
    Energy Shield
    0
    Damage
    297
    Spell Damage
    297
    Accuracy
    0
    Attack Time
    3.75
    Experience
    41,567
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 238–357
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 3.75 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]
    BurstShotIncendiaryBoltMonster
    Attack, RangedAttack, Projectile, ProjectilesFromUser, Area, CrossbowSkill, Trappable, Totemable, Mineable, Fire, Nonpathing
    Incendiary Shot
    Base Damage: 238–357
    [Critical|Critical Hit] Chance: 5%
    Attack Damage: 15%
    Attack Time: 3.75 sec
    Fires flaming bolts that fragment in flight, damaging and Igniting enemies on hit, and in a small cone behind their final target.
    Deals 85% less Attack Damage
    Converts 80% of Physical Damage to Fire Damage
    Knocks Back Enemies
    Always Ignites
    Bolts shatter on impact, dealing Damage in a 1.4 metre cone
    Fires 8 fragments per shot
    Multiple fragments can Hit the same target
    Multiple Fragments hitting a target simultaniously will combine their damage into a single Hit
    action required target facing angle tolerance degrees [90]
    action requires aiming stance [1]
    active skill maintains total ignite damage per minute [1]
    active skill projectile speed +% variation final [40]
    attack maximum action distance + [-45]
    base is projectile [1]
    burst shot cone angle [220]
    cannot cancel skill before contact point [1]
    check for targets between initiator and projectile source [1]
    disable visual hit effect [1]
    projectile distance variance [10]
    projectile uses contact direction [1]
    projectile uses contact position [1]
    projectiles normal distribution height mean [1]
    projectiles normal distribution height standard deviation [3]
    projectiles normal distribution spread standard deviation [8]
    RapidShotIncendiaryBoltMonster
    Attack, RangedAttack, Projectile, ProjectilesFromUser, CrossbowSkill, Trappable, Totemable, Mineable, Nonpathing, Fire
    Rapid Shot
    Base Damage: 238–357
    [Critical|Critical Hit] Chance: 5%
    Attack Damage: 15%
    Attack Time: 3.75 sec
    Fires heavily modified bolts that cause Heat to build up on your crossbow. Using this skill causes an initial buildup of Heat before unleashing a stream of flaming bolts that gain Fire Damage based on your Heat. Heat also grants bonus damage to Grenades you fire, but dissipates rapidly when not building up. Can fire a large number of bolts before needing to reload.
    Deals 85% less Attack Damage
    Converts 60% of Physical Damage to Fire Damage
    Knocks Back Enemies
    Maximum 12 Heat
    action do not face target [1]
    action required target facing angle tolerance degrees [60]
    action requires aiming stance [1]
    active skill facing angle turn duration ms [100]
    active skill override turn duration ms [100]
    attack maximum action distance + [-50]
    base is projectile [1]
    base skill effect duration [80]
    can perform skill while moving [1]
    check for targets between initiator and projectile source [1]
    disable visual hit effect [1]
    projectile uses contact direction [1]
    projectile uses contact position [1]
    projectiles crossbow barrage [1]
    rapid shot minimum stacks required to fire [7]
    MPWInfectedMercenarySnipeIncin
    Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Damage, Triggerable
    Base Damage: 238–357
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 3.75 sec
    Cooldown Time: 6.7 sec
    Converts 60% of Physical Damage to Fire Damage
    action attack or cast time uses animation length [2]
    base deal no damage [1]
    base is projectile [1]
    check for targets between initiator and projectile source [1]
    monster projectile variation [1124]
    projectile ballistic angle from target distance [1]
    projectile uses contact position [1]
    spell maximum action distance +% [-45]
    use scaled contact offset [1]
    GAInfectedMercIncendiaryBoltImpact
    Triggerable, Attack
    Base Damage: 238–357
    [Critical|Critical Hit] Chance: 5%
    Attack Damage: 270%
    Attack Time: 3.75 sec
    Deals 170% more Attack Damage
    Converts 80% of Physical Damage to Fire Damage
    action attack or cast time uses animation length [1]
    base is projectile [2]
    base skill can be avoided by dodge roll [1]
    base skill can be blocked [1]
    is area damage [1]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	actor = "Metadata/Monsters/Mercenary/Infected/InfectedMercenaryCrossbow.act"
    	basic_action = "Revive"
    	basic_action = "Emerge"
    	basic_action = "Emerge2"
    	basic_action = "ChangeToStance1"
    	basic_action = "ChangeToStance2"
    }
    
    StateMachine
    {
    	define_shared_state = "lock_on;"
    	on_state_lock_on_0 = "SetUsesDirectionalRunAnimations( false );"
    	on_state_lock_on_1 = "SetUsesDirectionalRunAnimations( true );"
    }
    
    Functions
    {
    	marker_height =
    	"
    		this.temp = arg2;
    
    		arg1.SetHeight( this.temp.GetHeight() );
    	"
    }
    
    Transitionable
    
    {
    
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	on_effect_start_MPWInfectedMercIncendiaryBolt = "AddEffectPackAttached( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/crossbow_weaponheat.epk', 'Metadata/Monsters/LeagueHeist/Military/attachments/Crossbow.ao' );"
    }
    
    Transitionable
    {
    	on_transition =
    	"
    		Roll( 1, 2,
    		{
    			PlayEffect( 'Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryCrossbowAggroAudio.ao' );
    		} );
    	"
    }
    
    Animated
    {
    	preload_animated_object = "Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryCrossbowAggroAudio.ao"
    }
    
    Preload
    {
    	preload_particle = "Metadata/Effects/Spells/crossbow_armour_piercing/pet/power_impact.pet"
    	preload_particle = "Metadata/Effects/Spells/crossbow_basic/pet/burst_impact.pet"
    	preload_particle = "Metadata/Effects/Spells/crossbow_armour_piercing/pet/power_pierce.pet"
    }
    
    Render
    {
    	selection_size_override = "100, 100, 190"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Mercenary/Infected/InfectedMercenaryCrossbowIncin"] = {
        name = "Decrepit Mercenary",
        life = 1.2,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 1.2,
        damageSpread = 0.2,
        attackTime = 3.75,
        attackRange = 55,
        accuracy = 1,
        weaponType1 = "Bow",
        skillList = {
            "MeleeAtAnimationSpeed",
            "MPWInfectedMercenarySnipeIncin",
            "GAInfectedMercIncendiaryBoltImpact",
            "BurstShotIncendiaryBoltMonster",
            "RapidShotIncendiaryBoltMonster",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeed"] = {
        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["MPWInfectedMercenarySnipeIncin"] = {
        name = "MPWInfectedMercenarySnipeIncin",
        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,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "monster_projectile_variation",
            "active_skill_base_physical_damage_%_to_convert_to_fire",
            "projectile_base_number_of_targets_to_pierce",
            "spell_maximum_action_distance_+%",
            "base_is_projectile",
            "action_attack_or_cast_time_uses_animation_length",
            "check_for_targets_between_initiator_and_projectile_source",
            "projectile_ballistic_angle_from_target_distance",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
            "action_attack_or_cast_time_uses_animation_length",
            "base_deal_no_damage",
        },
        levels = {
            [1] = {1124, 60, 0, -45, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GAInfectedMercIncendiaryBoltImpact"] = {
        name = "GAInfectedMercIncendiaryBoltImpact",
        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,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_base_physical_damage_%_to_convert_to_fire",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
            "base_is_projectile",
            "base_skill_can_be_blocked",
            "base_skill_can_be_avoided_by_dodge_roll",
            "base_is_projectile",
        },
        levels = {
            [1] = {80, baseMultiplier = 2.7, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["BurstShotIncendiaryBoltMonster"] = {
        name = "Incendiary Shot",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Fires flaming bolts that fragment in flight, damaging and [Ignite|Igniting] enemies on hit, and in a small cone behind their final target.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Area] = true,
            [SkillType.CrossbowSkill] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Fire] = true,
            [SkillType.Nonpathing] = true,
        },
        statDescriptionScope = "burst_shot_incendiary",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "projectiles_normal_distribution_height_mean",
            "projectiles_normal_distribution_height_standard_deviation",
            "projectiles_normal_distribution_spread_standard_deviation",
            "action_required_target_facing_angle_tolerance_degrees",
            "base_number_of_projectiles",
            "projectile_distance_variance",
            "active_skill_projectile_speed_+%_variation_final",
            "active_skill_hit_damage_stun_multiplier_+%_final",
            "active_skill_base_physical_damage_%_to_convert_to_fire",
            "base_knockback_distance",
            "burst_shot_cone_angle",
            "active_skill_base_area_of_effect_radius",
            "attack_maximum_action_distance_+",
            "base_is_projectile",
            "projectiles_can_shotgun",
            "disable_visual_hit_effect",
            "action_requires_aiming_stance",
            "projectile_uses_contact_position",
            "projectile_uses_contact_direction",
            "check_for_targets_between_initiator_and_projectile_source",
            "cannot_cancel_skill_before_contact_point",
            "active_skill_maintains_total_ignite_damage_per_minute",
            "always_ignite",
        },
        levels = {
            [1] = {1, 3, 8, 90, 8, 10, 40, 0, 80, 75, 220, 14, -45, baseMultiplier = 0.15, levelRequirement = 15.932, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["RapidShotIncendiaryBoltMonster"] = {
        name = "Rapid Shot",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Fires heavily modified bolts that cause Heat to build up on your crossbow. Using this skill causes an initial buildup of Heat before unleashing a stream of flaming bolts that gain [Fire] Damage based on your Heat. Heat also grants bonus damage to Grenades you fire, but dissipates rapidly when not building up. Can fire a large number of bolts before needing to reload.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.CrossbowSkill] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Nonpathing] = true,
            [SkillType.Fire] = true,
        },
        statDescriptionScope = "rapid_shot_incendiary",
        castTime = 1,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "rapid_shot_maximum_num_of_stacks",
            "action_required_target_facing_angle_tolerance_degrees",
            "active_skill_base_physical_damage_%_to_convert_to_fire",
            "base_skill_effect_duration",
            "rapid_shot_minimum_stacks_required_to_fire",
            "active_skill_override_turn_duration_ms",
            "active_skill_facing_angle_turn_duration_ms",
            "base_knockback_distance",
            "attack_maximum_action_distance_+",
            "base_is_projectile",
            "action_requires_aiming_stance",
            "projectile_uses_contact_position",
            "projectile_uses_contact_direction",
            "check_for_targets_between_initiator_and_projectile_source",
            "projectiles_crossbow_barrage",
            "disable_visual_hit_effect",
            "action_do_not_face_target",
            "can_perform_skill_while_moving",
        },
        levels = {
            [1] = {12, 60, 60, 80, 7, 100, 100, 30, -50, baseMultiplier = 0.15, levelRequirement = 15.932, statInterpolation = {1},  cost = { }, },
        },
    }
    
    undead description [1]
    IdMonsterNecromancerRaisable
    FamilyMonsterNecromancerRaisable
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    IdNothing
    FamilyNothing
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    stance movement speed +% final [-71]
    IdStanceMovementSpeedNegative71_
    FamilyStance
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • stance movement speed +% final Min: -71 Max: -71 Global
  • Decrepit Mercenary
    undead description [1]
    SpectreY
    AreaOgham Village, The Ziggurat Refuge, Ogham Village
    Tags1HSword_onhit_audio, fire_affinity, melee, not_dex, not_int, physical_affinity, slow_movement, undead, zombie
    Packs
  • Ogham Village, Ogham Village: Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • The Ziggurat Refuge: Iron Thaumaturgist, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • Life
    120%
    Armour
    +50%
    Ailment Threshold
    %
    Resistance
    30 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    5 ~ 11
    Attack Time
    1.755 Second
    Damage Spread
    ±20%
    Experience
    120%
    Model Size
    100%
    Type
    InfectedMercenaryOneHandIncin
    Metadata
    InfectedMercenarySwordTorchIncin
    Level
    70
    Life
    10,459
    Armour
    3,877
    Evasion
    502
    Energy Shield
    0
    Damage
    297
    Spell Damage
    297
    Accuracy
    0
    Attack Time
    1.755
    Experience
    41,567
    MeleeAtAnimationSpeedFire
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 238–357
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 1.755 sec
    Converts 40% of Physical Damage to Fire Damage
    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]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	basic_action = "Revive"
    	basic_action = "Emerge"
    	basic_action = "Emerge2"
    	basic_action = "ChangeToStance1"
    	basic_action = "ChangeToStance2"
    }
    
    StateMachine
    {
    	define_shared_state = "fire;"
    }
    
    Stats
    {
    	set_base_heavy_stun_duration_ms = 2200
    }
    
    Transitionable
    
    {
    
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    StateMachine
    {
    	on_or_create_state_fire_2 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			this.my_torch_fire = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/PirateBarrel/ao/torch_fire.ao', L_Weapon_Fire );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', MainHand );
    		} );
    		IfVarietyContains( MaulIncin, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', MainHand );
    		} );
    		IfVarietyContains( AxeIncin, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', MainHand );
    		} );
    		SetAudioParam( WeaponFireEPK, 1 );
    	"
    
    	on_state_fire_0 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			my_torch_fire.SetLightState( off, GetCurrentAnimationLength(), 0 );
    			PlayAnimationAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/PirateBarrel/ao/torch_fire.ao', end_rand );
    		} );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', OffHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', OffHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', OffHand );
    	"
    
    	create_state_fire_0 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			my_torch_fire.SetLightState( off, 0, 0 );
    			my_torch.PlayAnimation( end_rand );
    			my_torch.GoToAnimationEnd();
    		} );
    	"
    
    	on_or_create_state_fire_1 =
    	"
    		IfVarietyContains( Axe__, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', MainHand );
    		} );
    		IfVarietyContains( Sword, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', MainHand );
    		} );
    		IfVarietyContains( AxeAxe, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', MainHand );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', OffHand );
    		} );
    		IfVarietyContains( SwordSword_, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', MainHand );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', OffHand );
    		} );
    		IfVarietyContains( Maul, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hmace.epk', MainHand );
    		} );
    	"
    }
    
    Transitionable
    
    {
    
    on_transition =
    
    "
    
    Roll( 1, 2, { PlayEffect( 'Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryAggroAudio.ao' ); } );
    
    "
    
    }
    
    Animated
    
    {
    
    preload_animated_object = "Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryAggroAudio.ao"
    
    }
    
    Render
    {
    	selection_size_override = "100, 100, 190"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Mercenary/Infected/InfectedMercenarySwordTorchIncin"] = {
        name = "Decrepit Mercenary",
        life = 1.2,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 1.2,
        damageSpread = 0.2,
        attackTime = 1.755,
        attackRange = 11,
        accuracy = 1,
        weaponType1 = "One Hand Sword",
        weaponType2 = "One Hand Mace",
        skillList = {
            "MeleeAtAnimationSpeedFire",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeedFire"] = {
        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 = {
            "active_skill_base_physical_damage_%_to_convert_to_fire",
            "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, levelRequirement = 1, statInterpolation = {},  cost = { }, },
            [2] = {40, levelRequirement = 19, statInterpolation = {},  cost = { }, },
            [3] = {40, levelRequirement = 20, statInterpolation = {},  cost = { }, },
            [4] = {40, levelRequirement = 84, statInterpolation = {},  cost = { }, },
        },
    }
    
    undead description [1]
    IdMonsterNecromancerRaisable
    FamilyMonsterNecromancerRaisable
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    Decrepit Mercenary
    undead description [1]
    SpectreY
    AreaOgham Village, The Ziggurat Refuge, Ogham Village
    Tags2HBluntMetal_onhit_audio, fire_affinity, melee, not_dex, not_int, physical_affinity, slow_movement, undead, zombie
    Packs
  • Ogham Village, Ogham Village: Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • The Ziggurat Refuge: Iron Enforcer, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • Life
    120%
    Armour
    +50%
    Ailment Threshold
    %
    Resistance
    30 0 0 0
    Damage
    144%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    5 ~ 9
    Attack Time
    2.25 Second
    Damage Spread
    ±20%
    Experience
    120%
    Model Size
    100%
    Type
    InfectedMercenaryTwoHandIncin
    Metadata
    InfectedMercenaryMaulIncin
    Level
    70
    Life
    10,459
    Armour
    3,877
    Evasion
    502
    Energy Shield
    0
    Damage
    357
    Spell Damage
    357
    Accuracy
    0
    Attack Time
    2.25
    Experience
    41,567
    MeleeAtAnimationSpeedFire
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 286–428
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 2.25 sec
    Converts 40% of Physical Damage to Fire Damage
    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]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	basic_action = "Revive"
    	basic_action = "Emerge"
    	basic_action = "Emerge2"
    	basic_action = "ChangeToStance1"
    	basic_action = "ChangeToStance2"
    }
    
    StateMachine
    {
    	define_shared_state = "fire;"
    }
    
    Stats
    {
    	set_base_heavy_stun_duration_ms = 2200
    }
    
    Transitionable
    
    {
    
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    StateMachine
    {
    	on_or_create_state_fire_2 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			this.my_torch_fire = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/PirateBarrel/ao/torch_fire.ao', L_Weapon_Fire );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', MainHand );
    		} );
    		IfVarietyContains( MaulIncin, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', MainHand );
    		} );
    		IfVarietyContains( AxeIncin, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', MainHand );
    		} );
    		SetAudioParam( WeaponFireEPK, 1 );
    	"
    
    	on_state_fire_0 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			my_torch_fire.SetLightState( off, GetCurrentAnimationLength(), 0 );
    			PlayAnimationAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/PirateBarrel/ao/torch_fire.ao', end_rand );
    		} );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', OffHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', OffHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', OffHand );
    	"
    
    	create_state_fire_0 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			my_torch_fire.SetLightState( off, 0, 0 );
    			my_torch.PlayAnimation( end_rand );
    			my_torch.GoToAnimationEnd();
    		} );
    	"
    
    	on_or_create_state_fire_1 =
    	"
    		IfVarietyContains( Axe__, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', MainHand );
    		} );
    		IfVarietyContains( Sword, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', MainHand );
    		} );
    		IfVarietyContains( AxeAxe, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', MainHand );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', OffHand );
    		} );
    		IfVarietyContains( SwordSword_, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', MainHand );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', OffHand );
    		} );
    		IfVarietyContains( Maul, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hmace.epk', MainHand );
    		} );
    	"
    }
    
    Transitionable
    
    {
    
    on_transition =
    
    "
    
    Roll( 1, 2, { PlayEffect( 'Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryAggroAudio.ao' ); } );
    
    "
    
    }
    
    Animated
    
    {
    
    preload_animated_object = "Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryAggroAudio.ao"
    
    }
    
    Render
    {
    	selection_size_override = "100, 100, 190"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Mercenary/Infected/InfectedMercenaryMaulIncin"] = {
        name = "Decrepit Mercenary",
        life = 1.2,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 1.44,
        damageSpread = 0.2,
        attackTime = 2.25,
        attackRange = 9,
        accuracy = 1,
        weaponType1 = "Two Hand Mace",
        skillList = {
            "MeleeAtAnimationSpeedFire",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeedFire"] = {
        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 = {
            "active_skill_base_physical_damage_%_to_convert_to_fire",
            "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, levelRequirement = 1, statInterpolation = {},  cost = { }, },
            [2] = {40, levelRequirement = 19, statInterpolation = {},  cost = { }, },
            [3] = {40, levelRequirement = 20, statInterpolation = {},  cost = { }, },
            [4] = {40, levelRequirement = 84, statInterpolation = {},  cost = { }, },
        },
    }
    
    undead description [1]
    IdMonsterNecromancerRaisable
    FamilyMonsterNecromancerRaisable
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    Decrepit Mercenary
    undead description [1]
    SpectreY
    AreaOgham Village, The Ziggurat Refuge, Ogham Village
    Tags1HAxe_onhit_audio, fire_affinity, melee, not_dex, not_int, physical_affinity, slow_movement, undead, zombie
    Packs
  • Ogham Village, Ogham Village: Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • The Ziggurat Refuge: Iron Thaumaturgist, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • The Ziggurat Refuge: Iron Enforcer, Decrepit Mercenary, Decrepit Mercenary, Decrepit Mercenary
  • Life
    120%
    Armour
    +50%
    Ailment Threshold
    %
    Resistance
    30 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    5 ~ 8
    Attack Time
    1.755 Second
    Damage Spread
    ±20%
    Experience
    120%
    Model Size
    100%
    Type
    InfectedMercenaryOneHandIncin
    Metadata
    InfectedMercenaryAxeIncin
    Level
    70
    Life
    10,459
    Armour
    3,877
    Evasion
    502
    Energy Shield
    0
    Damage
    297
    Spell Damage
    297
    Accuracy
    0
    Attack Time
    1.755
    Experience
    41,567
    MeleeAtAnimationSpeedFire
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 238–357
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 1.755 sec
    Converts 40% of Physical Damage to Fire Damage
    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]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	basic_action = "Revive"
    	basic_action = "Emerge"
    	basic_action = "Emerge2"
    	basic_action = "ChangeToStance1"
    	basic_action = "ChangeToStance2"
    }
    
    StateMachine
    {
    	define_shared_state = "fire;"
    }
    
    Stats
    {
    	set_base_heavy_stun_duration_ms = 2200
    }
    
    Transitionable
    
    {
    
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    StateMachine
    {
    	on_or_create_state_fire_2 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			this.my_torch_fire = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/PirateBarrel/ao/torch_fire.ao', L_Weapon_Fire );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', MainHand );
    		} );
    		IfVarietyContains( MaulIncin, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', MainHand );
    		} );
    		IfVarietyContains( AxeIncin, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', MainHand );
    		} );
    		SetAudioParam( WeaponFireEPK, 1 );
    	"
    
    	on_state_fire_0 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			my_torch_fire.SetLightState( off, GetCurrentAnimationLength(), 0 );
    			PlayAnimationAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/PirateBarrel/ao/torch_fire.ao', end_rand );
    		} );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', OffHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', OffHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', OffHand );
    	"
    
    	create_state_fire_0 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			my_torch_fire.SetLightState( off, 0, 0 );
    			my_torch.PlayAnimation( end_rand );
    			my_torch.GoToAnimationEnd();
    		} );
    	"
    
    	on_or_create_state_fire_1 =
    	"
    		IfVarietyContains( Axe__, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', MainHand );
    		} );
    		IfVarietyContains( Sword, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', MainHand );
    		} );
    		IfVarietyContains( AxeAxe, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', MainHand );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', OffHand );
    		} );
    		IfVarietyContains( SwordSword_, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', MainHand );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', OffHand );
    		} );
    		IfVarietyContains( Maul, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hmace.epk', MainHand );
    		} );
    	"
    }
    
    Transitionable
    
    {
    
    on_transition =
    
    "
    
    Roll( 1, 2, { PlayEffect( 'Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryAggroAudio.ao' ); } );
    
    "
    
    }
    
    Animated
    
    {
    
    preload_animated_object = "Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryAggroAudio.ao"
    
    }
    
    Render
    {
    	selection_size_override = "100, 100, 190"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Mercenary/Infected/InfectedMercenaryAxeIncin"] = {
        name = "Decrepit Mercenary",
        life = 1.2,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 1.2,
        damageSpread = 0.2,
        attackTime = 1.755,
        attackRange = 8,
        accuracy = 1,
        weaponType1 = "One Hand Axe",
        skillList = {
            "MeleeAtAnimationSpeedFire",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeedFire"] = {
        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 = {
            "active_skill_base_physical_damage_%_to_convert_to_fire",
            "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, levelRequirement = 1, statInterpolation = {},  cost = { }, },
            [2] = {40, levelRequirement = 19, statInterpolation = {},  cost = { }, },
            [3] = {40, levelRequirement = 20, statInterpolation = {},  cost = { }, },
            [4] = {40, levelRequirement = 84, statInterpolation = {},  cost = { }, },
        },
    }
    
    undead description [1]
    IdMonsterNecromancerRaisable
    FamilyMonsterNecromancerRaisable
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    Decrepit Mercenary
    undead description [1]
    monster slain flask charges granted +% [100]
    stance movement speed +% final [-71]
    SpectreY
    TagsArrow_onhit_audio, not_dex, not_int, slow_movement, undead, zombie
    Life
    120%
    Armour
    +50%
    Ailment Threshold
    %
    Resistance
    0 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    6 ~ 55
    Attack Time
    3.75 Second
    Damage Spread
    ±20%
    Experience
    120%
    Model Size
    100%
    Type
    InfectedMercenaryRanged
    Metadata
    InfectedMercenaryCrossbowExecutionerMinion
    Level
    68
    Life
    9,308
    Armour
    3,451
    Evasion
    477
    Energy Shield
    0
    Damage
    280
    Spell Damage
    280
    Accuracy
    0
    Attack Time
    3.75
    Experience
    34,361
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 224–336
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 3.75 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]
    DTTExecutionerMinionsJumpToArena
    Spell, Movement
    Cast Time: 1 sec
    action attack or cast time uses animation length [1]
    leap slam minimum distance [30]
    spell maximum action distance +% [150]
    walk emerge extra distance [0]
    MPWInfectedMercIncendiaryBolt
    Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Damage, Triggerable
    Base Damage: 224–336
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 3.75 sec
    Converts 80% of Physical Damage to Fire Damage
    attack maximum action distance + [40]
    base is projectile [1]
    maintain projectile direction when using contact position [1]
    monster projectile variation [1109]
    projectile uses contact position [1]
    GAInfectedMercIncendiaryBoltImpact
    Triggerable, Attack
    Base Damage: 224–336
    [Critical|Critical Hit] Chance: 5%
    Attack Damage: 270%
    Attack Time: 3.75 sec
    Deals 170% more Attack Damage
    Converts 80% of Physical Damage to Fire Damage
    action attack or cast time uses animation length [1]
    base is projectile [2]
    base skill can be avoided by dodge roll [1]
    base skill can be blocked [1]
    is area damage [1]
    EASInfectedMercArenaTaunt
    Cooldown Time: 3.5 sec
    action attack or cast time uses animation length [1]
    ExecutionerMinionLeapSlam
    Attack, Area, Melee, Slam, Totemable, Travel, Jumping, ConsumesFullyBrokenArmour
    Leap Slam
    Base Damage: 224–336
    [Critical|Critical Hit] Chance: 5%
    Attack Damage: 140%
    Attack Time: 3.75 sec
    Jump into the air, damaging and Knocking Back enemies with your mace where you land. Enemies you would land on are pushed out of the way.
    Deals 40% more Attack Damage
    action attack or cast time uses animation length [1]
    base deal no damage [1]
    leap slam minimum distance [30]
    GTInfectedMercIncendiaryBolt
    Triggerable
    action attack or cast time uses animation length [1]
    GCEInfectedMercIncendiaryBolt
    Spell, Area, Damage, Triggerable, Duration, AreaSpell
    Cast Time: 1 sec
    Deals 2.2 Base Fire Damage per second
    active skill area of effect radius +% final [-35]
    base skill effect duration [6000]
    ground fire art variation [1005]
    GTInfectedMercIncendiaryBoltPostFight
    Triggerable
    action attack or cast time uses animation length [1]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	actor = "Metadata/Monsters/Mercenary/Infected/InfectedMercenaryCrossbow.act"
    	basic_action = "Revive"
    	basic_action = "Emerge"
    	basic_action = "Emerge2"
    	basic_action = "ChangeToStance1"
    	basic_action = "ChangeToStance2"
    }
    
    StateMachine
    {
    	define_shared_state = "lock_on;"
    	on_state_lock_on_0 = "SetUsesDirectionalRunAnimations( false );"
    	on_state_lock_on_1 = "SetUsesDirectionalRunAnimations( true );"
    }
    
    Functions
    {
    	marker_height =
    	"
    		this.temp = arg2;
    
    		arg1.SetHeight( this.temp.GetHeight() );
    	"
    }
    
    Transitionable
    
    {
    
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	on_effect_start_MPWInfectedMercIncendiaryBolt = "AddEffectPackAttached( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/crossbow_weaponheat.epk', 'Metadata/Monsters/LeagueHeist/Military/attachments/Crossbow.ao' );"
    }
    
    Transitionable
    {
    	on_transition =
    	"
    		Roll( 1, 2,
    		{
    			PlayEffect( 'Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryCrossbowAggroAudio.ao' );
    		} );
    	"
    }
    
    Animated
    {
    	preload_animated_object = "Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryCrossbowAggroAudio.ao"
    }
    
    Preload
    {
    	preload_particle = "Metadata/Effects/Spells/crossbow_armour_piercing/pet/power_impact.pet"
    	preload_particle = "Metadata/Effects/Spells/crossbow_basic/pet/burst_impact.pet"
    	preload_particle = "Metadata/Effects/Spells/crossbow_armour_piercing/pet/power_pierce.pet"
    }
    
    Render
    {
    	selection_size_override = "100, 100, 190"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Mercenary/Infected/InfectedMercenaryCrossbowExecutionerMinion"] = {
        name = "Decrepit Mercenary",
        life = 1.2,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 1.2,
        damageSpread = 0.2,
        attackTime = 3.75,
        attackRange = 55,
        accuracy = 1,
        weaponType1 = "Bow",
        skillList = {
            "MeleeAtAnimationSpeed",
            "ExecutionerMinionLeapSlam",
            "MPWInfectedMercIncendiaryBolt",
            "GCEInfectedMercIncendiaryBolt",
            "GAInfectedMercIncendiaryBoltImpact",
            "EASInfectedMercArenaTaunt",
            "GTInfectedMercIncendiaryBolt",
            "GTInfectedMercIncendiaryBoltPostFight",
            "DTTExecutionerMinionsJumpToArena",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeed"] = {
        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["ExecutionerMinionLeapSlam"] = {
        name = "Leap Slam",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Jump into the air, damaging and [Knockback|Knocking Back] enemies with your mace where you land. Enemies you would land on are
    pushed out of the way.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.Area] = true,
            [SkillType.Melee] = true,
            [SkillType.Slam] = true,
            [SkillType.Totemable] = true,
            [SkillType.Travel] = true,
            [SkillType.Jumping] = true,
            [SkillType.ConsumesFullyBrokenArmour] = true,
        },
        statDescriptionScope = "leap_slam",
        castTime = 1.4,
        baseFlags = {
            attack = true,
            area = true,
            melee = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "leap_slam_minimum_distance",
            "action_attack_or_cast_time_uses_animation_length",
            "base_deal_no_damage",
        },
        levels = {
            [1] = {30, baseMultiplier = 1.4, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MPWInfectedMercIncendiaryBolt"] = {
        name = "MPWInfectedMercIncendiaryBolt",
        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 = 2.5,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "monster_projectile_variation",
            "attack_maximum_action_distance_+",
            "active_skill_base_physical_damage_%_to_convert_to_fire",
            "base_is_projectile",
            "projectile_uses_contact_position",
            "maintain_projectile_direction_when_using_contact_position",
        },
        levels = {
            [1] = {1109, 40, 80, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GCEInfectedMercIncendiaryBolt"] = {
        name = "GCEInfectedMercIncendiaryBolt",
        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_fire_damage_to_deal_per_minute",
            "active_skill_area_of_effect_radius_+%_final",
            "base_skill_effect_duration",
            "ground_fire_art_variation",
        },
        levels = {
            [1] = {2, -35, 6000, 1005, levelRequirement = 1, statInterpolation = {3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GAInfectedMercIncendiaryBoltImpact"] = {
        name = "GAInfectedMercIncendiaryBoltImpact",
        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,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_base_physical_damage_%_to_convert_to_fire",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
            "base_is_projectile",
            "base_skill_can_be_blocked",
            "base_skill_can_be_avoided_by_dodge_roll",
            "base_is_projectile",
        },
        levels = {
            [1] = {80, baseMultiplier = 2.7, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EASInfectedMercArenaTaunt"] = {
        name = "EASInfectedMercArenaTaunt",
        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["GTInfectedMercIncendiaryBolt"] = {
        name = "GTInfectedMercIncendiaryBolt",
        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["GTInfectedMercIncendiaryBoltPostFight"] = {
        name = "GTInfectedMercIncendiaryBoltPostFight",
        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["DTTExecutionerMinionsJumpToArena"] = {
        name = "DTTExecutionerMinionsJumpToArena",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Movement] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            spell = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "walk_emerge_extra_distance",
            "leap_slam_minimum_distance",
            "spell_maximum_action_distance_+%",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {0, 30, 150, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    
    undead description [1]
    IdMonsterNecromancerRaisable
    FamilyMonsterNecromancerRaisable
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    monster slain flask charges granted +% [100]
    IdGenericMinionIncreasedFlaskCharges
    FamilyMonsterSlainFlaskCharges
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster slain flask charges granted +% Min: 100 Max: 100 Global
  • Craft Tagsflask
    IdNothing
    FamilyNothing
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    stance movement speed +% final [-71]
    IdStanceMovementSpeedNegative71_
    FamilyStance
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • stance movement speed +% final Min: -71 Max: -71 Global
  • Decrepit Mercenary
    undead description [1]
    monster slain flask charges granted +% [100]
    SpectreY
    Tags1HAxe_onhit_audio, not_dex, not_int, slow_movement, undead, zombie
    Life
    120%
    Armour
    +50%
    Ailment Threshold
    %
    Resistance
    0 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    5 ~ 11
    Attack Time
    1.755 Second
    Damage Spread
    ±20%
    Experience
    120%
    Model Size
    100%
    Type
    InfectedMercenaryOneHand
    Metadata
    InfectedMercenaryAxeShieldExecutionerMinion
    Level
    68
    Life
    9,308
    Armour
    3,451
    Evasion
    477
    Energy Shield
    0
    Damage
    280
    Spell Damage
    280
    Accuracy
    0
    Attack Time
    1.755
    Experience
    34,361
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 224–336
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 1.755 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]
    DTTExecutionerMinionsJumpToArena
    Spell, Movement
    Cast Time: 1 sec
    action attack or cast time uses animation length [1]
    leap slam minimum distance [30]
    spell maximum action distance +% [150]
    walk emerge extra distance [0]
    EASInfectedMercArenaTaunt
    Cooldown Time: 3.5 sec
    action attack or cast time uses animation length [1]
    ExecutionerMinionLeapSlam
    Attack, Area, Melee, Slam, Totemable, Travel, Jumping, ConsumesFullyBrokenArmour
    Leap Slam
    Base Damage: 224–336
    [Critical|Critical Hit] Chance: 5%
    Attack Damage: 140%
    Attack Time: 1.755 sec
    Jump into the air, damaging and Knocking Back enemies with your mace where you land. Enemies you would land on are pushed out of the way.
    Deals 40% more Attack Damage
    action attack or cast time uses animation length [1]
    base deal no damage [1]
    leap slam minimum distance [30]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	basic_action = "Revive"
    	basic_action = "Emerge"
    	basic_action = "Emerge2"
    	basic_action = "ChangeToStance1"
    	basic_action = "ChangeToStance2"
    }
    
    StateMachine
    {
    	define_shared_state = "fire;"
    }
    
    Stats
    {
    	set_base_heavy_stun_duration_ms = 2200
    }
    
    Transitionable
    
    {
    
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    StateMachine
    {
    	on_or_create_state_fire_2 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			this.my_torch_fire = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/PirateBarrel/ao/torch_fire.ao', L_Weapon_Fire );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', MainHand );
    		} );
    		IfVarietyContains( MaulIncin, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', MainHand );
    		} );
    		IfVarietyContains( AxeIncin, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', MainHand );
    		} );
    		SetAudioParam( WeaponFireEPK, 1 );
    	"
    
    	on_state_fire_0 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			my_torch_fire.SetLightState( off, GetCurrentAnimationLength(), 0 );
    			PlayAnimationAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/PirateBarrel/ao/torch_fire.ao', end_rand );
    		} );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', OffHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', OffHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', OffHand );
    	"
    
    	create_state_fire_0 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			my_torch_fire.SetLightState( off, 0, 0 );
    			my_torch.PlayAnimation( end_rand );
    			my_torch.GoToAnimationEnd();
    		} );
    	"
    
    	on_or_create_state_fire_1 =
    	"
    		IfVarietyContains( Axe__, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', MainHand );
    		} );
    		IfVarietyContains( Sword, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', MainHand );
    		} );
    		IfVarietyContains( AxeAxe, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', MainHand );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', OffHand );
    		} );
    		IfVarietyContains( SwordSword_, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', MainHand );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', OffHand );
    		} );
    		IfVarietyContains( Maul, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hmace.epk', MainHand );
    		} );
    	"
    }
    
    Transitionable
    
    {
    
    on_transition =
    
    "
    
    Roll( 1, 2, { PlayEffect( 'Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryAggroAudio.ao' ); } );
    
    "
    
    }
    
    Animated
    
    {
    
    preload_animated_object = "Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryAggroAudio.ao"
    
    }
    
    Render
    {
    	selection_size_override = "100, 100, 190"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Mercenary/Infected/InfectedMercenaryAxeShieldExecutionerMinion"] = {
        name = "Decrepit Mercenary",
        life = 1.2,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 1.2,
        damageSpread = 0.2,
        attackTime = 1.755,
        attackRange = 11,
        accuracy = 1,
        weaponType1 = "One Hand Axe",
        weaponType2 = "Shield",
        skillList = {
            "MeleeAtAnimationSpeed",
            "ExecutionerMinionLeapSlam",
            "EASInfectedMercArenaTaunt",
            "DTTExecutionerMinionsJumpToArena",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeed"] = {
        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["ExecutionerMinionLeapSlam"] = {
        name = "Leap Slam",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Jump into the air, damaging and [Knockback|Knocking Back] enemies with your mace where you land. Enemies you would land on are
    pushed out of the way.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.Area] = true,
            [SkillType.Melee] = true,
            [SkillType.Slam] = true,
            [SkillType.Totemable] = true,
            [SkillType.Travel] = true,
            [SkillType.Jumping] = true,
            [SkillType.ConsumesFullyBrokenArmour] = true,
        },
        statDescriptionScope = "leap_slam",
        castTime = 1.4,
        baseFlags = {
            attack = true,
            area = true,
            melee = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "leap_slam_minimum_distance",
            "action_attack_or_cast_time_uses_animation_length",
            "base_deal_no_damage",
        },
        levels = {
            [1] = {30, baseMultiplier = 1.4, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EASInfectedMercArenaTaunt"] = {
        name = "EASInfectedMercArenaTaunt",
        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["DTTExecutionerMinionsJumpToArena"] = {
        name = "DTTExecutionerMinionsJumpToArena",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Movement] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            spell = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "walk_emerge_extra_distance",
            "leap_slam_minimum_distance",
            "spell_maximum_action_distance_+%",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {0, 30, 150, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    
    undead description [1]
    IdMonsterNecromancerRaisable
    FamilyMonsterNecromancerRaisable
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    monster slain flask charges granted +% [100]
    IdGenericMinionIncreasedFlaskCharges
    FamilyMonsterSlainFlaskCharges
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster slain flask charges granted +% Min: 100 Max: 100 Global
  • Craft Tagsflask
    Decrepit Mercenary
    undead description [1]
    monster slain flask charges granted +% [100]
    SpectreY
    Tags1HAxe_onhit_audio, not_dex, not_int, slow_movement, undead, zombie
    Life
    120%
    Armour
    +50%
    Ailment Threshold
    %
    Resistance
    0 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    5 ~ 13
    Attack Time
    1.755 Second
    Damage Spread
    ±20%
    Experience
    120%
    Model Size
    100%
    Type
    InfectedMercenaryOneHand
    Metadata
    InfectedMercenaryAxeAxeExecutionerMinion
    Level
    68
    Life
    9,308
    Armour
    3,451
    Evasion
    477
    Energy Shield
    0
    Damage
    280
    Spell Damage
    280
    Accuracy
    0
    Attack Time
    1.755
    Experience
    34,361
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 224–336
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 1.755 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]
    DTTExecutionerMinionsJumpToArena
    Spell, Movement
    Cast Time: 1 sec
    action attack or cast time uses animation length [1]
    leap slam minimum distance [30]
    spell maximum action distance +% [150]
    walk emerge extra distance [0]
    EASInfectedMercArenaTaunt
    Cooldown Time: 3.5 sec
    action attack or cast time uses animation length [1]
    ExecutionerMinionLeapSlam
    Attack, Area, Melee, Slam, Totemable, Travel, Jumping, ConsumesFullyBrokenArmour
    Leap Slam
    Base Damage: 224–336
    [Critical|Critical Hit] Chance: 5%
    Attack Damage: 140%
    Attack Time: 1.755 sec
    Jump into the air, damaging and Knocking Back enemies with your mace where you land. Enemies you would land on are pushed out of the way.
    Deals 40% more Attack Damage
    action attack or cast time uses animation length [1]
    base deal no damage [1]
    leap slam minimum distance [30]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	basic_action = "Revive"
    	basic_action = "Emerge"
    	basic_action = "Emerge2"
    	basic_action = "ChangeToStance1"
    	basic_action = "ChangeToStance2"
    }
    
    StateMachine
    {
    	define_shared_state = "fire;"
    }
    
    Stats
    {
    	set_base_heavy_stun_duration_ms = 2200
    }
    
    Transitionable
    
    {
    
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    StateMachine
    {
    	on_or_create_state_fire_2 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			this.my_torch_fire = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/PirateBarrel/ao/torch_fire.ao', L_Weapon_Fire );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', MainHand );
    		} );
    		IfVarietyContains( MaulIncin, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', MainHand );
    		} );
    		IfVarietyContains( AxeIncin, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', MainHand );
    		} );
    		SetAudioParam( WeaponFireEPK, 1 );
    	"
    
    	on_state_fire_0 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			my_torch_fire.SetLightState( off, GetCurrentAnimationLength(), 0 );
    			PlayAnimationAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/PirateBarrel/ao/torch_fire.ao', end_rand );
    		} );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hsword.epk', OffHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Hmace.epk', OffHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', MainHand );
    		RemoveEffectPackFromVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/fire_1Haxe.epk', OffHand );
    	"
    
    	create_state_fire_0 =
    	"
    		IfVarietyContains( Torch, ()
    		{
    			my_torch_fire.SetLightState( off, 0, 0 );
    			my_torch.PlayAnimation( end_rand );
    			my_torch.GoToAnimationEnd();
    		} );
    	"
    
    	on_or_create_state_fire_1 =
    	"
    		IfVarietyContains( Axe__, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', MainHand );
    		} );
    		IfVarietyContains( Sword, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', MainHand );
    		} );
    		IfVarietyContains( AxeAxe, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', MainHand );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Haxe.epk', OffHand );
    		} );
    		IfVarietyContains( SwordSword_, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', MainHand );
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hsword.epk', OffHand );
    		} );
    		IfVarietyContains( Maul, ()
    		{
    			AddEffectPackToVisualSlotAttachedObject( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/blood_1Hmace.epk', MainHand );
    		} );
    	"
    }
    
    Transitionable
    
    {
    
    on_transition =
    
    "
    
    Roll( 1, 2, { PlayEffect( 'Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryAggroAudio.ao' ); } );
    
    "
    
    }
    
    Animated
    
    {
    
    preload_animated_object = "Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryAggroAudio.ao"
    
    }
    
    Render
    {
    	selection_size_override = "100, 100, 190"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Mercenary/Infected/InfectedMercenaryAxeAxeExecutionerMinion"] = {
        name = "Decrepit Mercenary",
        life = 1.2,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 1.2,
        damageSpread = 0.2,
        attackTime = 1.755,
        attackRange = 13,
        accuracy = 1,
        weaponType1 = "One Hand Axe",
        weaponType2 = "One Hand Axe",
        skillList = {
            "MeleeAtAnimationSpeed",
            "ExecutionerMinionLeapSlam",
            "EASInfectedMercArenaTaunt",
            "DTTExecutionerMinionsJumpToArena",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeed"] = {
        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["ExecutionerMinionLeapSlam"] = {
        name = "Leap Slam",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Jump into the air, damaging and [Knockback|Knocking Back] enemies with your mace where you land. Enemies you would land on are
    pushed out of the way.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.Area] = true,
            [SkillType.Melee] = true,
            [SkillType.Slam] = true,
            [SkillType.Totemable] = true,
            [SkillType.Travel] = true,
            [SkillType.Jumping] = true,
            [SkillType.ConsumesFullyBrokenArmour] = true,
        },
        statDescriptionScope = "leap_slam",
        castTime = 1.4,
        baseFlags = {
            attack = true,
            area = true,
            melee = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "leap_slam_minimum_distance",
            "action_attack_or_cast_time_uses_animation_length",
            "base_deal_no_damage",
        },
        levels = {
            [1] = {30, baseMultiplier = 1.4, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EASInfectedMercArenaTaunt"] = {
        name = "EASInfectedMercArenaTaunt",
        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["DTTExecutionerMinionsJumpToArena"] = {
        name = "DTTExecutionerMinionsJumpToArena",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Movement] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            spell = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "walk_emerge_extra_distance",
            "leap_slam_minimum_distance",
            "spell_maximum_action_distance_+%",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {0, 30, 150, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    
    undead description [1]
    IdMonsterNecromancerRaisable
    FamilyMonsterNecromancerRaisable
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    monster slain flask charges granted +% [100]
    IdGenericMinionIncreasedFlaskCharges
    FamilyMonsterSlainFlaskCharges
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster slain flask charges granted +% Min: 100 Max: 100 Global
  • Craft Tagsflask