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%
    Resistance
    0 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Hits Chance
    5%
    Critical Damage Bonus
    +30%
    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
    5,816
    Evasion Rating
    502
    Damage
    297
    Spell Damage
    297
    Accuracy
    2,328
    Attack Time
    1.755
    Experience
    41,567
    Minion Life
    14,719
    Minion Damage
    2,595
    Minion Armour
    9,693
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 238–357
    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%
    Resistance
    0 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Hits Chance
    5%
    Critical Damage Bonus
    +30%
    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
    5,816
    Evasion Rating
    502
    Damage
    297
    Spell Damage
    297
    Accuracy
    2,328
    Attack Time
    1.755
    Experience
    41,567
    Minion Life
    14,719
    Minion Damage
    2,595
    Minion Armour
    9,693
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 238–357
    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%
    Resistance
    0 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Hits Chance
    5%
    Critical Damage Bonus
    +30%
    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
    5,177
    Evasion Rating
    477
    Damage
    280
    Spell Damage
    280
    Accuracy
    2,180
    Attack Time
    1.755
    Experience
    34,361
    Minion Life
    13,536
    Minion Damage
    2,276
    Minion Armour
    8,628
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 224–336
    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%
    Resistance
    0 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Hits Chance
    5%
    Critical Damage Bonus
    +30%
    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
    5,816
    Evasion Rating
    502
    Damage
    297
    Spell Damage
    297
    Accuracy
    2,328
    Attack Time
    1.755
    Experience
    41,567
    Minion Life
    14,719
    Minion Damage
    2,595
    Minion Armour
    9,693
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 238–357
    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%
    Resistance
    0 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Hits Chance
    5%
    Critical Damage Bonus
    +30%
    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
    5,816
    Evasion Rating
    502
    Damage
    297
    Spell Damage
    297
    Accuracy
    2,328
    Attack Time
    1.755
    Experience
    41,567
    Minion Life
    14,719
    Minion Damage
    2,595
    Minion Armour
    9,693
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 238–357
    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%
    Resistance
    0 0 0 0
    Damage
    144%
    Accuracy
    100%
    Critical Hits Chance
    5%
    Critical Damage Bonus
    +30%
    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
    5,177
    Evasion Rating
    477
    Damage
    336
    Spell Damage
    336
    Accuracy
    2,180
    Attack Time
    2.25
    Experience
    34,361
    Minion Life
    13,536
    Minion Damage
    2,731
    Minion Armour
    8,628
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 269–403
    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%
    Resistance
    0 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Hits Chance
    5%
    Critical Damage Bonus
    +30%
    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
    5,177
    Evasion Rating
    477
    Damage
    280
    Spell Damage
    280
    Accuracy
    2,180
    Attack Time
    3.75
    Experience
    34,361
    Minion Life
    13,536
    Minion Damage
    2,276
    Minion Armour
    8,628
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 224–336
    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%
    Resistance
    0 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Hits Chance
    5%
    Critical Damage Bonus
    +30%
    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
    5,816
    Evasion Rating
    502
    Damage
    297
    Spell Damage
    297
    Accuracy
    2,328
    Attack Time
    3.75
    Experience
    41,567
    Minion Life
    14,719
    Minion Damage
    2,595
    Minion Armour
    9,693
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 238–357
    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 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 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 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 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 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 Hit Chance: 5%
    Attack Damage: 215%
    Attack Time: 3.75 sec
    Deals 115% 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.15, 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%
    Resistance
    30 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Hits Chance
    5%
    Critical Damage Bonus
    +30%
    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
    5,816
    Evasion Rating
    502
    Damage
    297
    Spell Damage
    297
    Accuracy
    2,328
    Attack Time
    3.75
    Experience
    41,567
    Minion Life
    14,719
    Minion Damage
    2,595
    Minion Armour
    9,693
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 238–357
    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 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 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 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 Hit Chance: 5%
    Attack Damage: 215%
    Attack Time: 3.75 sec
    Deals 115% 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.15, 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%
    Resistance
    30 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Hits Chance
    5%
    Critical Damage Bonus
    +30%
    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
    5,816
    Evasion Rating
    502
    Damage
    297
    Spell Damage
    297
    Accuracy
    2,328
    Attack Time
    1.755
    Experience
    41,567
    Minion Life
    14,719
    Minion Damage
    2,595
    Minion Armour
    9,693
    MeleeAtAnimationSpeedFire
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 238–357
    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%
    Resistance
    30 0 0 0
    Damage
    144%
    Accuracy
    100%
    Critical Hits Chance
    5%
    Critical Damage Bonus
    +30%
    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
    5,816
    Evasion Rating
    502
    Damage
    357
    Spell Damage
    357
    Accuracy
    2,328
    Attack Time
    2.25
    Experience
    41,567
    Minion Life
    14,719
    Minion Damage
    3,114
    Minion Armour
    9,693
    MeleeAtAnimationSpeedFire
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 286–428
    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%
    Resistance
    30 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Hits Chance
    5%
    Critical Damage Bonus
    +30%
    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
    5,816
    Evasion Rating
    502
    Damage
    297
    Spell Damage
    297
    Accuracy
    2,328
    Attack Time
    1.755
    Experience
    41,567
    Minion Life
    14,719
    Minion Damage
    2,595
    Minion Armour
    9,693
    MeleeAtAnimationSpeedFire
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 238–357
    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%
    Resistance
    0 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Hits Chance
    5%
    Critical Damage Bonus
    +30%
    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
    5,177
    Evasion Rating
    477
    Damage
    280
    Spell Damage
    280
    Accuracy
    2,180
    Attack Time
    3.75
    Experience
    34,361
    Minion Life
    13,536
    Minion Damage
    2,276
    Minion Armour
    8,628
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 224–336
    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 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 Hit Chance: 5%
    Attack Damage: 215%
    Attack Time: 3.75 sec
    Deals 115% 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 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 78 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.15, 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%
    Resistance
    0 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Hits Chance
    5%
    Critical Damage Bonus
    +30%
    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
    5,177
    Evasion Rating
    477
    Damage
    280
    Spell Damage
    280
    Accuracy
    2,180
    Attack Time
    1.755
    Experience
    34,361
    Minion Life
    13,536
    Minion Damage
    2,276
    Minion Armour
    8,628
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 224–336
    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 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%
    Resistance
    0 0 0 0
    Damage
    120%
    Accuracy
    100%
    Critical Hits Chance
    5%
    Critical Damage Bonus
    +30%
    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
    5,177
    Evasion Rating
    477
    Damage
    280
    Spell Damage
    280
    Accuracy
    2,180
    Attack Time
    1.755
    Experience
    34,361
    Minion Life
    13,536
    Minion Damage
    2,276
    Minion Armour
    8,628
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 224–336
    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 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
    Edit

    Wikis Content is available under CC BY-NC-SA 3.0 unless otherwise noted.