衰朽佣兵
undead description [1]
Decrepit Mercenary
SpectreY
Area农地, The Ziggurat Refuge, Ogham Farmlands
Tags1HAxe_onhit_audio, melee, not_dex, not_int, physical_affinity, slow_movement, undead, zombie
Packs
  • 农地: 衰朽佣兵, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • Ogham Farmlands: 衰朽佣兵, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • The Ziggurat Refuge: 衰朽佣兵, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • 生命
    120%
    Armour
    +50%
    Ailment Threshold
    %
    抗性
    0 0 0 0
    伤害
    120%
    命中
    100%
    攻击暴击率
    +5%
    暴击伤害
    +130%
    Attack Distance
    5 ~ 8
    Attack Time
    1.755 Second
    Damage Spread
    ±20%
    经验值
    120%
    Model Size
    100%
    Type
    InfectedMercenaryOneHand
    Metadata
    InfectedMercenaryAxe__
    等级
    70
    生命
    10,459
    Armour
    3,877
    闪避值
    502
    能量护盾
    0
    伤害
    297
    法术伤害
    297
    命中
    0
    Attack Time
    1.755
    经验值
    41,567
    MeleeAtAnimationSpeed
    攻击, 范围攻击, 技能可幻影射手, 投射物, 近战单一目标, 攻击可重复, 近战, 玩家投射物
    普通攻击
    Base Damage: 238–357
    暴击几率: 5%
    Attack Time: 1.755 秒
    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
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    衰朽佣兵
    undead description [1]
    Decrepit Mercenary
    SpectreY
    Area农地, The Ziggurat Refuge, Ogham Farmlands
    Tags1HSword_onhit_audio, melee, not_dex, not_int, physical_affinity, slow_movement, undead, zombie
    Packs
  • 农地: 衰朽佣兵, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • Ogham Farmlands: 衰朽佣兵, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • The Ziggurat Refuge: 衰朽佣兵, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • 生命
    120%
    Armour
    +50%
    Ailment Threshold
    %
    抗性
    0 0 0 0
    伤害
    120%
    命中
    100%
    攻击暴击率
    +5%
    暴击伤害
    +130%
    Attack Distance
    5 ~ 8
    Attack Time
    1.755 Second
    Damage Spread
    ±20%
    经验值
    120%
    Model Size
    100%
    Type
    InfectedMercenaryOneHand
    Metadata
    InfectedMercenarySword
    等级
    70
    生命
    10,459
    Armour
    3,877
    闪避值
    502
    能量护盾
    0
    伤害
    297
    法术伤害
    297
    命中
    0
    Attack Time
    1.755
    经验值
    41,567
    MeleeAtAnimationSpeed
    攻击, 范围攻击, 技能可幻影射手, 投射物, 近战单一目标, 攻击可重复, 近战, 玩家投射物
    普通攻击
    Base Damage: 238–357
    暴击几率: 5%
    Attack Time: 1.755 秒
    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
    Domains怪物 (3)
    GenerationType传奇 (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
    生命
    120%
    Armour
    +50%
    Ailment Threshold
    %
    抗性
    0 0 0 0
    伤害
    120%
    命中
    100%
    攻击暴击率
    +5%
    暴击伤害
    +130%
    Attack Distance
    5 ~ 11
    Attack Time
    1.755 Second
    Damage Spread
    ±20%
    经验值
    120%
    Model Size
    100%
    Type
    InfectedMercenaryOneHand
    Metadata
    InfectedMercenarySwordShield
    等级
    68
    生命
    9,308
    Armour
    3,451
    闪避值
    477
    能量护盾
    0
    伤害
    280
    法术伤害
    280
    命中
    0
    Attack Time
    1.755
    经验值
    34,361
    MeleeAtAnimationSpeed
    攻击, 范围攻击, 技能可幻影射手, 投射物, 近战单一目标, 攻击可重复, 近战, 玩家投射物
    普通攻击
    Base Damage: 224–336
    暴击几率: 5%
    Attack Time: 1.755 秒
    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
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    衰朽佣兵
    Decrepit Mercenary
    SpectreY
    Area农地, 高墙庭院, 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: 衰朽佣兵, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • 高墙庭院, The Manor Ramparts: 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • 高墙庭院, The Manor Ramparts: 钢铁奇术师, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • 高墙庭院, The Manor Ramparts: 钢铁矛兵, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • 高墙庭院, The Manor Ramparts: 钢铁守卫, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • The Ziggurat Refuge: 衰朽佣兵, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • 生命
    120%
    Armour
    +50%
    Ailment Threshold
    %
    抗性
    0 0 0 0
    伤害
    120%
    命中
    100%
    攻击暴击率
    +5%
    暴击伤害
    +130%
    Attack Distance
    5 ~ 11
    Attack Time
    1.755 Second
    Damage Spread
    ±20%
    经验值
    120%
    Model Size
    100%
    Type
    InfectedMercenaryOneHand
    Metadata
    InfectedMercenaryAxeAxe
    等级
    70
    生命
    10,459
    Armour
    3,877
    闪避值
    502
    能量护盾
    0
    伤害
    297
    法术伤害
    297
    命中
    0
    Attack Time
    1.755
    经验值
    41,567
    MeleeAtAnimationSpeed
    攻击, 范围攻击, 技能可幻影射手, 投射物, 近战单一目标, 攻击可重复, 近战, 玩家投射物
    普通攻击
    Base Damage: 238–357
    暴击几率: 5%
    Attack Time: 1.755 秒
    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
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    衰朽佣兵
    Decrepit Mercenary
    SpectreY
    Area农地, 高墙庭院, 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: 衰朽佣兵, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • 高墙庭院, The Manor Ramparts: 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • 高墙庭院, The Manor Ramparts: 钢铁奇术师, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • 高墙庭院, The Manor Ramparts: 钢铁矛兵, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • 高墙庭院, The Manor Ramparts: 钢铁守卫, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • The Ziggurat Refuge: 衰朽佣兵, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • 生命
    120%
    Armour
    +50%
    Ailment Threshold
    %
    抗性
    0 0 0 0
    伤害
    120%
    命中
    100%
    攻击暴击率
    +5%
    暴击伤害
    +130%
    Attack Distance
    5 ~ 11
    Attack Time
    1.755 Second
    Damage Spread
    ±20%
    经验值
    120%
    Model Size
    100%
    Type
    InfectedMercenaryOneHand
    Metadata
    InfectedMercenarySwordSword_
    等级
    70
    生命
    10,459
    Armour
    3,877
    闪避值
    502
    能量护盾
    0
    伤害
    297
    法术伤害
    297
    命中
    0
    Attack Time
    1.755
    经验值
    41,567
    MeleeAtAnimationSpeed
    攻击, 范围攻击, 技能可幻影射手, 投射物, 近战单一目标, 攻击可重复, 近战, 玩家投射物
    普通攻击
    Base Damage: 238–357
    暴击几率: 5%
    Attack Time: 1.755 秒
    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
    Domains怪物 (3)
    GenerationType传奇 (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
    生命
    120%
    Armour
    +50%
    Ailment Threshold
    %
    抗性
    0 0 0 0
    伤害
    144%
    命中
    100%
    攻击暴击率
    +5%
    暴击伤害
    +130%
    Attack Distance
    5 ~ 9
    Attack Time
    2.25 Second
    Damage Spread
    ±20%
    经验值
    120%
    Model Size
    100%
    Type
    InfectedMercenaryTwoHand
    Metadata
    InfectedMercenaryMaul
    等级
    68
    生命
    9,308
    Armour
    3,451
    闪避值
    477
    能量护盾
    0
    伤害
    336
    法术伤害
    336
    命中
    0
    Attack Time
    2.25
    经验值
    34,361
    MeleeAtAnimationSpeed
    攻击, 范围攻击, 技能可幻影射手, 投射物, 近战单一目标, 攻击可重复, 近战, 玩家投射物
    普通攻击
    Base Damage: 269–403
    暴击几率: 5%
    Attack Time: 2.25 秒
    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
    Domains怪物 (3)
    GenerationType传奇 (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
    生命
    120%
    Armour
    +50%
    Ailment Threshold
    %
    抗性
    0 0 0 0
    伤害
    120%
    命中
    100%
    攻击暴击率
    +5%
    暴击伤害
    +130%
    Attack Distance
    6 ~ 55
    Attack Time
    3.75 Second
    Damage Spread
    ±20%
    经验值
    120%
    Model Size
    100%
    Type
    InfectedMercenaryRanged
    Metadata
    InfectedMercenaryBow
    等级
    68
    生命
    9,308
    Armour
    3,451
    闪避值
    477
    能量护盾
    0
    伤害
    280
    法术伤害
    280
    命中
    0
    Attack Time
    3.75
    经验值
    34,361
    MeleeAtAnimationSpeed
    攻击, 范围攻击, 技能可幻影射手, 投射物, 近战单一目标, 攻击可重复, 近战, 玩家投射物
    普通攻击
    Base Damage: 224–336
    暴击几率: 5%
    Attack Time: 3.75 秒
    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
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    衰朽佣兵
    undead description [1]
    stance movement speed +% final [-71]
    Decrepit Mercenary
    SpectreY
    Area农地, 高墙庭院, 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: 钢铁奇术师, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • 高墙庭院, The Manor Ramparts: 钢铁矛兵, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • 高墙庭院, The Manor Ramparts: 钢铁守卫, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • 农地, Ogham Farmlands: 衰朽佣兵
  • The Ziggurat Refuge: 衰朽佣兵, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • The Ziggurat Refuge: 衰朽佣兵
  • 生命
    120%
    Armour
    +50%
    Ailment Threshold
    %
    抗性
    0 0 0 0
    伤害
    120%
    命中
    100%
    攻击暴击率
    +5%
    暴击伤害
    +130%
    Attack Distance
    6 ~ 55
    Attack Time
    3.75 Second
    Damage Spread
    ±20%
    经验值
    120%
    Model Size
    100%
    Type
    InfectedMercenaryRanged
    Metadata
    InfectedMercenaryCrossbow
    等级
    70
    生命
    10,459
    Armour
    3,877
    闪避值
    502
    能量护盾
    0
    伤害
    297
    法术伤害
    297
    命中
    0
    Attack Time
    3.75
    经验值
    41,567
    MeleeAtAnimationSpeed
    攻击, 范围攻击, 技能可幻影射手, 投射物, 近战单一目标, 攻击可重复, 近战, 玩家投射物
    普通攻击
    Base Damage: 238–357
    暴击几率: 5%
    Attack Time: 3.75 秒
    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
    攻击, 范围攻击, 技能可幻影射手, 投射物, 玩家投射物, 伤害, 可触发
    Base Damage: 238–357
    暴击几率: 5%
    攻击伤害: 250%
    Attack Time: 3.75 秒
    冷却时间: 6.7 秒
    攻击伤害总增 150%
    [晕眩]积蓄值总增 100%
    压制30% 物理伤害减免
    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
    攻击, 范围攻击, 技能可幻影射手, 投射物, 玩家投射物, 伤害, 可触发
    Base Damage: 238–357
    暴击几率: 5%
    Attack Time: 3.75 秒
    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
    攻击, 范围攻击, 投射物, 玩家投射物, CrossbowSkill, 陷阱技能, 图腾技能, 地雷技能, Nonpathing, SkillConsumesFreeze
    贯甲爆发射击
    Base Damage: 238–357
    暴击几率: 5%
    攻击伤害: 40%
    Attack Time: 3.75 秒
    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.
    攻击伤害总降 60%
    Knocks Back Enemies
    [晕眩]积蓄值总增 100%
    压制30% 物理伤害减免
    每次连射发射 8 支弩箭
    弩箭穿透 2 个目标
    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
    攻击, 范围攻击, 投射物, 玩家投射物, 范围, CrossbowSkill, 陷阱技能, 图腾技能, 地雷技能, 火焰, Nonpathing
    燃烧爆发射击
    Base Damage: 238–357
    暴击几率: 5%
    攻击伤害: 15%
    Attack Time: 3.75 秒
    Fires flaming bolts that fragment in flight, damaging and Igniting enemies on hit, and in a small cone behind their final target.
    攻击伤害总降 85%
    物理伤害的 80% 转化为火焰伤害
    Knocks Back Enemies
    Always Ignites
    弩箭击中时碎裂,在 1.4 米锥形范围内造成伤害
    每次连射发射 8 支弩箭
    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
    攻击, 范围攻击, 投射物, 玩家投射物, CrossbowSkill, 陷阱技能, 图腾技能, 地雷技能, Nonpathing, 火焰
    燃烧快速射击
    Base Damage: 238–357
    暴击几率: 5%
    攻击伤害: 15%
    Attack Time: 3.75 秒
    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.
    攻击伤害总降 85%
    物理伤害的 60% 转化为火焰伤害
    Knocks Back Enemies
    最多 12 层热度
    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
    可触发, 攻击
    Base Damage: 238–357
    暴击几率: 5%
    攻击伤害: 270%
    Attack Time: 3.75 秒
    攻击伤害总增 170%
    物理伤害的 80% 转化为火焰伤害
    action attack or cast time uses animation length [1]
    base is projectile [2]
    base skill can be avoided by dodge roll [1]
    base skill can be blocked [1]
    is area damage [1]

    Object Type

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

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	on_effect_start_MPWInfectedMercIncendiaryBolt = "AddEffectPackAttached( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/crossbow_weaponheat.epk', 'Metadata/Monsters/LeagueHeist/Military/attachments/Crossbow.ao' );"
    }
    
    Transitionable
    {
    	on_transition =
    	"
    		Roll( 1, 2,
    		{
    			PlayEffect( 'Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryCrossbowAggroAudio.ao' );
    		} );
    	"
    }
    
    Animated
    {
    	preload_animated_object = "Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryCrossbowAggroAudio.ao"
    }
    
    Preload
    {
    	preload_particle = "Metadata/Effects/Spells/crossbow_armour_piercing/pet/power_impact.pet"
    	preload_particle = "Metadata/Effects/Spells/crossbow_basic/pet/burst_impact.pet"
    	preload_particle = "Metadata/Effects/Spells/crossbow_armour_piercing/pet/power_pierce.pet"
    }
    
    Render
    {
    	selection_size_override = "100, 100, 190"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Mercenary/Infected/InfectedMercenaryCrossbow"] = {
        name = "Decrepit Mercenary",
        life = 1.2,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 1.2,
        damageSpread = 0.2,
        attackTime = 3.75,
        attackRange = 55,
        accuracy = 1,
        weaponType1 = "Bow",
        skillList = {
            "MeleeAtAnimationSpeed",
            "MPWInfectedMercenarySnipe",
            "MPWInfectedMercenaryMinigun",
            "GAInfectedMercIncendiaryBoltImpact",
            "BurstShotArmourPiercingBoltMonster",
            "BurstShotIncendiaryBoltMonster",
            "RapidShotIncendiaryBoltMonster",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeed"] = {
        name = "Basic Attack",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.ProjectilesFromUser] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
            "action_attack_or_cast_time_uses_animation_length",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MPWInfectedMercenarySnipe"] = {
        name = "MPWInfectedMercenarySnipe",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Damage] = true,
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "monster_projectile_variation",
            "active_skill_hit_damage_stun_multiplier_+%_final",
            "enemy_phys_reduction_%_penalty_vs_hit",
            "projectile_base_number_of_targets_to_pierce",
            "spell_maximum_action_distance_+%",
            "base_is_projectile",
            "action_attack_or_cast_time_uses_animation_length",
            "check_for_targets_between_initiator_and_projectile_source",
            "projectile_ballistic_angle_from_target_distance",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {1056, 100, 30, 0, -45, baseMultiplier = 2.5, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MPWInfectedMercenaryMinigun"] = {
        name = "MPWInfectedMercenaryMinigun",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Damage] = true,
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "monster_projectile_variation",
            "main_hand_base_maximum_attack_distance",
            "projectile_spread_radius",
            "chance_to_apply_suppression_on_hit_%",
            "base_is_projectile",
            "check_for_targets_between_initiator_and_projectile_source",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
            "cast_time_overrides_attack_duration",
        },
        levels = {
            [1] = {1057, 25, 3, 100, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GAInfectedMercIncendiaryBoltImpact"] = {
        name = "GAInfectedMercIncendiaryBoltImpact",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_base_physical_damage_%_to_convert_to_fire",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
            "base_is_projectile",
            "base_skill_can_be_blocked",
            "base_skill_can_be_avoided_by_dodge_roll",
            "base_is_projectile",
        },
        levels = {
            [1] = {80, baseMultiplier = 2.7, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["BurstShotArmourPiercingBoltMonster"] = {
        name = "Fragmentation Rounds",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Fires [Pierce|Piercing] bolts that fragment in flight. Bolts that hit a [Frozen] enemy [Consume] the [Freeze] and cause an explosion of shrapnel. Bolts that hit an [IceCrystals|Ice Crystal] cause it to explode.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.CrossbowSkill] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Nonpathing] = true,
            [SkillType.SkillConsumesFreeze] = true,
        },
        statDescriptionScope = "burst_shot_piercing",
        castTime = 1.5,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "projectiles_normal_distribution_height_mean",
            "projectiles_normal_distribution_height_standard_deviation",
            "projectiles_normal_distribution_spread_standard_deviation",
            "action_required_target_facing_angle_tolerance_degrees",
            "base_number_of_projectiles",
            "projectile_distance_variance",
            "active_skill_projectile_speed_+%_variation_final",
            "active_skill_hit_damage_stun_multiplier_+%_final",
            "enemy_phys_reduction_%_penalty_vs_hit",
            "projectile_base_number_of_targets_to_pierce",
            "base_knockback_distance",
            "attack_maximum_action_distance_+",
            "base_is_projectile",
            "projectiles_can_shotgun",
            "action_requires_aiming_stance",
            "projectile_uses_contact_position",
            "projectile_uses_contact_direction",
            "check_for_targets_between_initiator_and_projectile_source",
            "cannot_cancel_skill_before_contact_point",
            "destroy_frost_wall_segment_on_hit",
            "disable_visual_hit_effect",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {1, 3, 8, 90, 8, 10, 60, 100, 30, 2, 100, -45, baseMultiplier = 0.4, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["BurstShotIncendiaryBoltMonster"] = {
        name = "Incendiary Shot",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Fires flaming bolts that fragment in flight, damaging and [Ignite|Igniting] enemies on hit, and in a small cone behind their final target.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Area] = true,
            [SkillType.CrossbowSkill] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Fire] = true,
            [SkillType.Nonpathing] = true,
        },
        statDescriptionScope = "burst_shot_incendiary",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "projectiles_normal_distribution_height_mean",
            "projectiles_normal_distribution_height_standard_deviation",
            "projectiles_normal_distribution_spread_standard_deviation",
            "action_required_target_facing_angle_tolerance_degrees",
            "base_number_of_projectiles",
            "projectile_distance_variance",
            "active_skill_projectile_speed_+%_variation_final",
            "active_skill_hit_damage_stun_multiplier_+%_final",
            "active_skill_base_physical_damage_%_to_convert_to_fire",
            "base_knockback_distance",
            "burst_shot_cone_angle",
            "active_skill_base_area_of_effect_radius",
            "attack_maximum_action_distance_+",
            "base_is_projectile",
            "projectiles_can_shotgun",
            "disable_visual_hit_effect",
            "action_requires_aiming_stance",
            "projectile_uses_contact_position",
            "projectile_uses_contact_direction",
            "check_for_targets_between_initiator_and_projectile_source",
            "cannot_cancel_skill_before_contact_point",
            "active_skill_maintains_total_ignite_damage_per_minute",
            "always_ignite",
        },
        levels = {
            [1] = {1, 3, 8, 90, 8, 10, 40, 0, 80, 75, 220, 14, -45, baseMultiplier = 0.15, levelRequirement = 15.932, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["RapidShotIncendiaryBoltMonster"] = {
        name = "Rapid Shot",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Fires heavily modified bolts that cause Heat to build up on your crossbow. Using this skill causes an initial buildup of Heat before unleashing a stream of flaming bolts that gain [Fire] Damage based on your Heat. Heat also grants bonus damage to Grenades you fire, but dissipates rapidly when not building up. Can fire a large number of bolts before needing to reload.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.CrossbowSkill] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Nonpathing] = true,
            [SkillType.Fire] = true,
        },
        statDescriptionScope = "rapid_shot_incendiary",
        castTime = 1,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "rapid_shot_maximum_num_of_stacks",
            "action_required_target_facing_angle_tolerance_degrees",
            "active_skill_base_physical_damage_%_to_convert_to_fire",
            "base_skill_effect_duration",
            "rapid_shot_minimum_stacks_required_to_fire",
            "active_skill_override_turn_duration_ms",
            "active_skill_facing_angle_turn_duration_ms",
            "base_knockback_distance",
            "attack_maximum_action_distance_+",
            "base_is_projectile",
            "action_requires_aiming_stance",
            "projectile_uses_contact_position",
            "projectile_uses_contact_direction",
            "check_for_targets_between_initiator_and_projectile_source",
            "projectiles_crossbow_barrage",
            "disable_visual_hit_effect",
            "action_do_not_face_target",
            "can_perform_skill_while_moving",
        },
        levels = {
            [1] = {12, 60, 60, 80, 7, 100, 100, 30, -50, baseMultiplier = 0.15, levelRequirement = 15.932, statInterpolation = {1},  cost = { }, },
        },
    }
    
    undead description [1]
    IdMonsterNecromancerRaisable
    FamilyMonsterNecromancerRaisable
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    IdNothing
    FamilyNothing
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    stance movement speed +% final [-71]
    IdStanceMovementSpeedNegative71_
    FamilyStance
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • stance movement speed +% final Min: -71 Max: -71 Global
  • 衰朽佣兵
    undead description [1]
    stance movement speed +% final [-71]
    Decrepit Mercenary
    SpectreY
    Area欧甘村庄, 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: 衰朽佣兵, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • The Ziggurat Refuge: 钢铁奇术师, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • The Ziggurat Refuge: 钢铁执法者, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • The Ziggurat Refuge: 衰朽佣兵
  • 生命
    120%
    Armour
    +50%
    Ailment Threshold
    %
    抗性
    30 0 0 0
    伤害
    120%
    命中
    100%
    攻击暴击率
    +5%
    暴击伤害
    +130%
    Attack Distance
    6 ~ 55
    Attack Time
    3.75 Second
    Damage Spread
    ±20%
    经验值
    120%
    Model Size
    100%
    Type
    InfectedMercenaryRangedIncin
    Metadata
    InfectedMercenaryCrossbowIncin
    等级
    70
    生命
    10,459
    Armour
    3,877
    闪避值
    502
    能量护盾
    0
    伤害
    297
    法术伤害
    297
    命中
    0
    Attack Time
    3.75
    经验值
    41,567
    MeleeAtAnimationSpeed
    攻击, 范围攻击, 技能可幻影射手, 投射物, 近战单一目标, 攻击可重复, 近战, 玩家投射物
    普通攻击
    Base Damage: 238–357
    暴击几率: 5%
    Attack Time: 3.75 秒
    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
    攻击, 范围攻击, 投射物, 玩家投射物, 范围, CrossbowSkill, 陷阱技能, 图腾技能, 地雷技能, 火焰, Nonpathing
    燃烧爆发射击
    Base Damage: 238–357
    暴击几率: 5%
    攻击伤害: 15%
    Attack Time: 3.75 秒
    Fires flaming bolts that fragment in flight, damaging and Igniting enemies on hit, and in a small cone behind their final target.
    攻击伤害总降 85%
    物理伤害的 80% 转化为火焰伤害
    Knocks Back Enemies
    Always Ignites
    弩箭击中时碎裂,在 1.4 米锥形范围内造成伤害
    每次连射发射 8 支弩箭
    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
    攻击, 范围攻击, 投射物, 玩家投射物, CrossbowSkill, 陷阱技能, 图腾技能, 地雷技能, Nonpathing, 火焰
    燃烧快速射击
    Base Damage: 238–357
    暴击几率: 5%
    攻击伤害: 15%
    Attack Time: 3.75 秒
    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.
    攻击伤害总降 85%
    物理伤害的 60% 转化为火焰伤害
    Knocks Back Enemies
    最多 12 层热度
    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
    攻击, 范围攻击, 技能可幻影射手, 投射物, 玩家投射物, 伤害, 可触发
    Base Damage: 238–357
    暴击几率: 5%
    Attack Time: 3.75 秒
    冷却时间: 6.7 秒
    物理伤害的 60% 转化为火焰伤害
    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
    可触发, 攻击
    Base Damage: 238–357
    暴击几率: 5%
    攻击伤害: 270%
    Attack Time: 3.75 秒
    攻击伤害总增 170%
    物理伤害的 80% 转化为火焰伤害
    action attack or cast time uses animation length [1]
    base is projectile [2]
    base skill can be avoided by dodge roll [1]
    base skill can be blocked [1]
    is area damage [1]

    Object Type

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

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	on_effect_start_MPWInfectedMercIncendiaryBolt = "AddEffectPackAttached( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/crossbow_weaponheat.epk', 'Metadata/Monsters/LeagueHeist/Military/attachments/Crossbow.ao' );"
    }
    
    Transitionable
    {
    	on_transition =
    	"
    		Roll( 1, 2,
    		{
    			PlayEffect( 'Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryCrossbowAggroAudio.ao' );
    		} );
    	"
    }
    
    Animated
    {
    	preload_animated_object = "Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryCrossbowAggroAudio.ao"
    }
    
    Preload
    {
    	preload_particle = "Metadata/Effects/Spells/crossbow_armour_piercing/pet/power_impact.pet"
    	preload_particle = "Metadata/Effects/Spells/crossbow_basic/pet/burst_impact.pet"
    	preload_particle = "Metadata/Effects/Spells/crossbow_armour_piercing/pet/power_pierce.pet"
    }
    
    Render
    {
    	selection_size_override = "100, 100, 190"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Mercenary/Infected/InfectedMercenaryCrossbowIncin"] = {
        name = "Decrepit Mercenary",
        life = 1.2,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 1.2,
        damageSpread = 0.2,
        attackTime = 3.75,
        attackRange = 55,
        accuracy = 1,
        weaponType1 = "Bow",
        skillList = {
            "MeleeAtAnimationSpeed",
            "MPWInfectedMercenarySnipeIncin",
            "GAInfectedMercIncendiaryBoltImpact",
            "BurstShotIncendiaryBoltMonster",
            "RapidShotIncendiaryBoltMonster",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeed"] = {
        name = "Basic Attack",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.ProjectilesFromUser] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
            "action_attack_or_cast_time_uses_animation_length",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MPWInfectedMercenarySnipeIncin"] = {
        name = "MPWInfectedMercenarySnipeIncin",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Damage] = true,
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "monster_projectile_variation",
            "active_skill_base_physical_damage_%_to_convert_to_fire",
            "projectile_base_number_of_targets_to_pierce",
            "spell_maximum_action_distance_+%",
            "base_is_projectile",
            "action_attack_or_cast_time_uses_animation_length",
            "check_for_targets_between_initiator_and_projectile_source",
            "projectile_ballistic_angle_from_target_distance",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
            "action_attack_or_cast_time_uses_animation_length",
            "base_deal_no_damage",
        },
        levels = {
            [1] = {1124, 60, 0, -45, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GAInfectedMercIncendiaryBoltImpact"] = {
        name = "GAInfectedMercIncendiaryBoltImpact",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_base_physical_damage_%_to_convert_to_fire",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
            "base_is_projectile",
            "base_skill_can_be_blocked",
            "base_skill_can_be_avoided_by_dodge_roll",
            "base_is_projectile",
        },
        levels = {
            [1] = {80, baseMultiplier = 2.7, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["BurstShotIncendiaryBoltMonster"] = {
        name = "Incendiary Shot",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Fires flaming bolts that fragment in flight, damaging and [Ignite|Igniting] enemies on hit, and in a small cone behind their final target.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Area] = true,
            [SkillType.CrossbowSkill] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Fire] = true,
            [SkillType.Nonpathing] = true,
        },
        statDescriptionScope = "burst_shot_incendiary",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "projectiles_normal_distribution_height_mean",
            "projectiles_normal_distribution_height_standard_deviation",
            "projectiles_normal_distribution_spread_standard_deviation",
            "action_required_target_facing_angle_tolerance_degrees",
            "base_number_of_projectiles",
            "projectile_distance_variance",
            "active_skill_projectile_speed_+%_variation_final",
            "active_skill_hit_damage_stun_multiplier_+%_final",
            "active_skill_base_physical_damage_%_to_convert_to_fire",
            "base_knockback_distance",
            "burst_shot_cone_angle",
            "active_skill_base_area_of_effect_radius",
            "attack_maximum_action_distance_+",
            "base_is_projectile",
            "projectiles_can_shotgun",
            "disable_visual_hit_effect",
            "action_requires_aiming_stance",
            "projectile_uses_contact_position",
            "projectile_uses_contact_direction",
            "check_for_targets_between_initiator_and_projectile_source",
            "cannot_cancel_skill_before_contact_point",
            "active_skill_maintains_total_ignite_damage_per_minute",
            "always_ignite",
        },
        levels = {
            [1] = {1, 3, 8, 90, 8, 10, 40, 0, 80, 75, 220, 14, -45, baseMultiplier = 0.15, levelRequirement = 15.932, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["RapidShotIncendiaryBoltMonster"] = {
        name = "Rapid Shot",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Fires heavily modified bolts that cause Heat to build up on your crossbow. Using this skill causes an initial buildup of Heat before unleashing a stream of flaming bolts that gain [Fire] Damage based on your Heat. Heat also grants bonus damage to Grenades you fire, but dissipates rapidly when not building up. Can fire a large number of bolts before needing to reload.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.CrossbowSkill] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Nonpathing] = true,
            [SkillType.Fire] = true,
        },
        statDescriptionScope = "rapid_shot_incendiary",
        castTime = 1,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "rapid_shot_maximum_num_of_stacks",
            "action_required_target_facing_angle_tolerance_degrees",
            "active_skill_base_physical_damage_%_to_convert_to_fire",
            "base_skill_effect_duration",
            "rapid_shot_minimum_stacks_required_to_fire",
            "active_skill_override_turn_duration_ms",
            "active_skill_facing_angle_turn_duration_ms",
            "base_knockback_distance",
            "attack_maximum_action_distance_+",
            "base_is_projectile",
            "action_requires_aiming_stance",
            "projectile_uses_contact_position",
            "projectile_uses_contact_direction",
            "check_for_targets_between_initiator_and_projectile_source",
            "projectiles_crossbow_barrage",
            "disable_visual_hit_effect",
            "action_do_not_face_target",
            "can_perform_skill_while_moving",
        },
        levels = {
            [1] = {12, 60, 60, 80, 7, 100, 100, 30, -50, baseMultiplier = 0.15, levelRequirement = 15.932, statInterpolation = {1},  cost = { }, },
        },
    }
    
    undead description [1]
    IdMonsterNecromancerRaisable
    FamilyMonsterNecromancerRaisable
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    IdNothing
    FamilyNothing
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    stance movement speed +% final [-71]
    IdStanceMovementSpeedNegative71_
    FamilyStance
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • stance movement speed +% final Min: -71 Max: -71 Global
  • 衰朽佣兵
    undead description [1]
    Decrepit Mercenary
    SpectreY
    Area欧甘村庄, The Ziggurat Refuge, Ogham Village
    Tags1HSword_onhit_audio, fire_affinity, melee, not_dex, not_int, physical_affinity, slow_movement, undead, zombie
    Packs
  • 欧甘村庄, Ogham Village: 衰朽佣兵, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • The Ziggurat Refuge: 钢铁奇术师, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • 生命
    120%
    Armour
    +50%
    Ailment Threshold
    %
    抗性
    30 0 0 0
    伤害
    120%
    命中
    100%
    攻击暴击率
    +5%
    暴击伤害
    +130%
    Attack Distance
    5 ~ 11
    Attack Time
    1.755 Second
    Damage Spread
    ±20%
    经验值
    120%
    Model Size
    100%
    Type
    InfectedMercenaryOneHandIncin
    Metadata
    InfectedMercenarySwordTorchIncin
    等级
    70
    生命
    10,459
    Armour
    3,877
    闪避值
    502
    能量护盾
    0
    伤害
    297
    法术伤害
    297
    命中
    0
    Attack Time
    1.755
    经验值
    41,567
    MeleeAtAnimationSpeedFire
    攻击, 范围攻击, 技能可幻影射手, 投射物, 近战单一目标, 攻击可重复, 近战, 玩家投射物
    普通攻击
    Base Damage: 238–357
    暴击几率: 5%
    Attack Time: 1.755 秒
    物理伤害的 40% 转化为火焰伤害
    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
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    衰朽佣兵
    undead description [1]
    Decrepit Mercenary
    SpectreY
    Area欧甘村庄, The Ziggurat Refuge, Ogham Village
    Tags2HBluntMetal_onhit_audio, fire_affinity, melee, not_dex, not_int, physical_affinity, slow_movement, undead, zombie
    Packs
  • 欧甘村庄, Ogham Village: 衰朽佣兵, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • The Ziggurat Refuge: 钢铁执法者, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • 生命
    120%
    Armour
    +50%
    Ailment Threshold
    %
    抗性
    30 0 0 0
    伤害
    144%
    命中
    100%
    攻击暴击率
    +5%
    暴击伤害
    +130%
    Attack Distance
    5 ~ 9
    Attack Time
    2.25 Second
    Damage Spread
    ±20%
    经验值
    120%
    Model Size
    100%
    Type
    InfectedMercenaryTwoHandIncin
    Metadata
    InfectedMercenaryMaulIncin
    等级
    70
    生命
    10,459
    Armour
    3,877
    闪避值
    502
    能量护盾
    0
    伤害
    357
    法术伤害
    357
    命中
    0
    Attack Time
    2.25
    经验值
    41,567
    MeleeAtAnimationSpeedFire
    攻击, 范围攻击, 技能可幻影射手, 投射物, 近战单一目标, 攻击可重复, 近战, 玩家投射物
    普通攻击
    Base Damage: 286–428
    暴击几率: 5%
    Attack Time: 2.25 秒
    物理伤害的 40% 转化为火焰伤害
    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
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    衰朽佣兵
    undead description [1]
    Decrepit Mercenary
    SpectreY
    Area欧甘村庄, The Ziggurat Refuge, Ogham Village
    Tags1HAxe_onhit_audio, fire_affinity, melee, not_dex, not_int, physical_affinity, slow_movement, undead, zombie
    Packs
  • 欧甘村庄, Ogham Village: 衰朽佣兵, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • The Ziggurat Refuge: 钢铁奇术师, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • The Ziggurat Refuge: 钢铁执法者, 衰朽佣兵, 衰朽佣兵, 衰朽佣兵
  • 生命
    120%
    Armour
    +50%
    Ailment Threshold
    %
    抗性
    30 0 0 0
    伤害
    120%
    命中
    100%
    攻击暴击率
    +5%
    暴击伤害
    +130%
    Attack Distance
    5 ~ 8
    Attack Time
    1.755 Second
    Damage Spread
    ±20%
    经验值
    120%
    Model Size
    100%
    Type
    InfectedMercenaryOneHandIncin
    Metadata
    InfectedMercenaryAxeIncin
    等级
    70
    生命
    10,459
    Armour
    3,877
    闪避值
    502
    能量护盾
    0
    伤害
    297
    法术伤害
    297
    命中
    0
    Attack Time
    1.755
    经验值
    41,567
    MeleeAtAnimationSpeedFire
    攻击, 范围攻击, 技能可幻影射手, 投射物, 近战单一目标, 攻击可重复, 近战, 玩家投射物
    普通攻击
    Base Damage: 238–357
    暴击几率: 5%
    Attack Time: 1.755 秒
    物理伤害的 40% 转化为火焰伤害
    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
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    衰朽佣兵
    undead description [1]
    monster slain flask charges granted +% [100]
    stance movement speed +% final [-71]
    Decrepit Mercenary
    SpectreY
    TagsArrow_onhit_audio, not_dex, not_int, slow_movement, undead, zombie
    生命
    120%
    Armour
    +50%
    Ailment Threshold
    %
    抗性
    0 0 0 0
    伤害
    120%
    命中
    100%
    攻击暴击率
    +5%
    暴击伤害
    +130%
    Attack Distance
    6 ~ 55
    Attack Time
    3.75 Second
    Damage Spread
    ±20%
    经验值
    120%
    Model Size
    100%
    Type
    InfectedMercenaryRanged
    Metadata
    InfectedMercenaryCrossbowExecutionerMinion
    等级
    68
    生命
    9,308
    Armour
    3,451
    闪避值
    477
    能量护盾
    0
    伤害
    280
    法术伤害
    280
    命中
    0
    Attack Time
    3.75
    经验值
    34,361
    MeleeAtAnimationSpeed
    攻击, 范围攻击, 技能可幻影射手, 投射物, 近战单一目标, 攻击可重复, 近战, 玩家投射物
    普通攻击
    Base Damage: 224–336
    暴击几率: 5%
    Attack Time: 3.75 秒
    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
    法术, 位移
    施放间隔: 1 秒
    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
    攻击, 范围攻击, 技能可幻影射手, 投射物, 玩家投射物, 伤害, 可触发
    Base Damage: 224–336
    暴击几率: 5%
    Attack Time: 3.75 秒
    物理伤害的 80% 转化为火焰伤害
    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
    可触发, 攻击
    Base Damage: 224–336
    暴击几率: 5%
    攻击伤害: 270%
    Attack Time: 3.75 秒
    攻击伤害总增 170%
    物理伤害的 80% 转化为火焰伤害
    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
    冷却时间: 3.5 秒
    action attack or cast time uses animation length [1]
    ExecutionerMinionLeapSlam
    攻击, 范围, 近战, Slam, 图腾技能, 快行, Jumping, ConsumesFullyBrokenArmour
    跃击
    Base Damage: 224–336
    暴击几率: 5%
    攻击伤害: 140%
    Attack Time: 3.75 秒
    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.
    攻击伤害总增 40%
    action attack or cast time uses animation length [1]
    base deal no damage [1]
    leap slam minimum distance [30]
    GTInfectedMercIncendiaryBolt
    可触发
    action attack or cast time uses animation length [1]
    GCEInfectedMercIncendiaryBolt
    法术, 范围, 伤害, 可触发, 持续时间, 范围法术
    施放间隔: 1 秒
    每秒造成 2.2 基础[火焰]伤害
    active skill area of effect radius +% final [-35]
    base skill effect duration [6000]
    ground fire art variation [1005]
    GTInfectedMercIncendiaryBoltPostFight
    可触发
    action attack or cast time uses animation length [1]

    Object Type

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

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	on_effect_start_MPWInfectedMercIncendiaryBolt = "AddEffectPackAttached( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/InfectedMercenary/epk/crossbow_weaponheat.epk', 'Metadata/Monsters/LeagueHeist/Military/attachments/Crossbow.ao' );"
    }
    
    Transitionable
    {
    	on_transition =
    	"
    		Roll( 1, 2,
    		{
    			PlayEffect( 'Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryCrossbowAggroAudio.ao' );
    		} );
    	"
    }
    
    Animated
    {
    	preload_animated_object = "Metadata/Monsters/Mercenary/Infected/audio/InfectedMercenaryCrossbowAggroAudio.ao"
    }
    
    Preload
    {
    	preload_particle = "Metadata/Effects/Spells/crossbow_armour_piercing/pet/power_impact.pet"
    	preload_particle = "Metadata/Effects/Spells/crossbow_basic/pet/burst_impact.pet"
    	preload_particle = "Metadata/Effects/Spells/crossbow_armour_piercing/pet/power_pierce.pet"
    }
    
    Render
    {
    	selection_size_override = "100, 100, 190"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Mercenary/Infected/InfectedMercenaryCrossbowExecutionerMinion"] = {
        name = "Decrepit Mercenary",
        life = 1.2,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 1.2,
        damageSpread = 0.2,
        attackTime = 3.75,
        attackRange = 55,
        accuracy = 1,
        weaponType1 = "Bow",
        skillList = {
            "MeleeAtAnimationSpeed",
            "ExecutionerMinionLeapSlam",
            "MPWInfectedMercIncendiaryBolt",
            "GCEInfectedMercIncendiaryBolt",
            "GAInfectedMercIncendiaryBoltImpact",
            "EASInfectedMercArenaTaunt",
            "GTInfectedMercIncendiaryBolt",
            "GTInfectedMercIncendiaryBoltPostFight",
            "DTTExecutionerMinionsJumpToArena",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeed"] = {
        name = "Basic Attack",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.ProjectilesFromUser] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
            "action_attack_or_cast_time_uses_animation_length",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["ExecutionerMinionLeapSlam"] = {
        name = "Leap Slam",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Jump into the air, damaging and [Knockback|Knocking Back] enemies with your mace where you land. Enemies you would land on are
    pushed out of the way.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.Area] = true,
            [SkillType.Melee] = true,
            [SkillType.Slam] = true,
            [SkillType.Totemable] = true,
            [SkillType.Travel] = true,
            [SkillType.Jumping] = true,
            [SkillType.ConsumesFullyBrokenArmour] = true,
        },
        statDescriptionScope = "leap_slam",
        castTime = 1.4,
        baseFlags = {
            attack = true,
            area = true,
            melee = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "leap_slam_minimum_distance",
            "action_attack_or_cast_time_uses_animation_length",
            "base_deal_no_damage",
        },
        levels = {
            [1] = {30, baseMultiplier = 1.4, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MPWInfectedMercIncendiaryBolt"] = {
        name = "MPWInfectedMercIncendiaryBolt",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Damage] = true,
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 2.5,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "monster_projectile_variation",
            "attack_maximum_action_distance_+",
            "active_skill_base_physical_damage_%_to_convert_to_fire",
            "base_is_projectile",
            "projectile_uses_contact_position",
            "maintain_projectile_direction_when_using_contact_position",
        },
        levels = {
            [1] = {1109, 40, 80, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GCEInfectedMercIncendiaryBolt"] = {
        name = "GCEInfectedMercIncendiaryBolt",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Area] = true,
            [SkillType.Damage] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Duration] = true,
            [SkillType.AreaSpell] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            area = true,
            spell = true,
            duration = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_fire_damage_to_deal_per_minute",
            "active_skill_area_of_effect_radius_+%_final",
            "base_skill_effect_duration",
            "ground_fire_art_variation",
        },
        levels = {
            [1] = {2, -35, 6000, 1005, levelRequirement = 1, statInterpolation = {3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GAInfectedMercIncendiaryBoltImpact"] = {
        name = "GAInfectedMercIncendiaryBoltImpact",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_base_physical_damage_%_to_convert_to_fire",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
            "base_is_projectile",
            "base_skill_can_be_blocked",
            "base_skill_can_be_avoided_by_dodge_roll",
            "base_is_projectile",
        },
        levels = {
            [1] = {80, baseMultiplier = 2.7, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EASInfectedMercArenaTaunt"] = {
        name = "EASInfectedMercArenaTaunt",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GTInfectedMercIncendiaryBolt"] = {
        name = "GTInfectedMercIncendiaryBolt",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GTInfectedMercIncendiaryBoltPostFight"] = {
        name = "GTInfectedMercIncendiaryBoltPostFight",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["DTTExecutionerMinionsJumpToArena"] = {
        name = "DTTExecutionerMinionsJumpToArena",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Movement] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            spell = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "walk_emerge_extra_distance",
            "leap_slam_minimum_distance",
            "spell_maximum_action_distance_+%",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {0, 30, 150, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    
    undead description [1]
    IdMonsterNecromancerRaisable
    FamilyMonsterNecromancerRaisable
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    monster slain flask charges granted +% [100]
    IdGenericMinionIncreasedFlaskCharges
    FamilyMonsterSlainFlaskCharges
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • monster slain flask charges granted +% Min: 100 Max: 100 Global
  • Craft Tagsflask
    IdNothing
    FamilyNothing
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    stance movement speed +% final [-71]
    IdStanceMovementSpeedNegative71_
    FamilyStance
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • stance movement speed +% final Min: -71 Max: -71 Global
  • 衰朽佣兵
    undead description [1]
    monster slain flask charges granted +% [100]
    Decrepit Mercenary
    SpectreY
    Tags1HAxe_onhit_audio, not_dex, not_int, slow_movement, undead, zombie
    生命
    120%
    Armour
    +50%
    Ailment Threshold
    %
    抗性
    0 0 0 0
    伤害
    120%
    命中
    100%
    攻击暴击率
    +5%
    暴击伤害
    +130%
    Attack Distance
    5 ~ 11
    Attack Time
    1.755 Second
    Damage Spread
    ±20%
    经验值
    120%
    Model Size
    100%
    Type
    InfectedMercenaryOneHand
    Metadata
    InfectedMercenaryAxeShieldExecutionerMinion
    等级
    68
    生命
    9,308
    Armour
    3,451
    闪避值
    477
    能量护盾
    0
    伤害
    280
    法术伤害
    280
    命中
    0
    Attack Time
    1.755
    经验值
    34,361
    MeleeAtAnimationSpeed
    攻击, 范围攻击, 技能可幻影射手, 投射物, 近战单一目标, 攻击可重复, 近战, 玩家投射物
    普通攻击
    Base Damage: 224–336
    暴击几率: 5%
    Attack Time: 1.755 秒
    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
    法术, 位移
    施放间隔: 1 秒
    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
    冷却时间: 3.5 秒
    action attack or cast time uses animation length [1]
    ExecutionerMinionLeapSlam
    攻击, 范围, 近战, Slam, 图腾技能, 快行, Jumping, ConsumesFullyBrokenArmour
    跃击
    Base Damage: 224–336
    暴击几率: 5%
    攻击伤害: 140%
    Attack Time: 1.755 秒
    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.
    攻击伤害总增 40%
    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
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    monster slain flask charges granted +% [100]
    IdGenericMinionIncreasedFlaskCharges
    FamilyMonsterSlainFlaskCharges
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • monster slain flask charges granted +% Min: 100 Max: 100 Global
  • Craft Tagsflask
    衰朽佣兵
    undead description [1]
    monster slain flask charges granted +% [100]
    Decrepit Mercenary
    SpectreY
    Tags1HAxe_onhit_audio, not_dex, not_int, slow_movement, undead, zombie
    生命
    120%
    Armour
    +50%
    Ailment Threshold
    %
    抗性
    0 0 0 0
    伤害
    120%
    命中
    100%
    攻击暴击率
    +5%
    暴击伤害
    +130%
    Attack Distance
    5 ~ 13
    Attack Time
    1.755 Second
    Damage Spread
    ±20%
    经验值
    120%
    Model Size
    100%
    Type
    InfectedMercenaryOneHand
    Metadata
    InfectedMercenaryAxeAxeExecutionerMinion
    等级
    68
    生命
    9,308
    Armour
    3,451
    闪避值
    477
    能量护盾
    0
    伤害
    280
    法术伤害
    280
    命中
    0
    Attack Time
    1.755
    经验值
    34,361
    MeleeAtAnimationSpeed
    攻击, 范围攻击, 技能可幻影射手, 投射物, 近战单一目标, 攻击可重复, 近战, 玩家投射物
    普通攻击
    Base Damage: 224–336
    暴击几率: 5%
    Attack Time: 1.755 秒
    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
    法术, 位移
    施放间隔: 1 秒
    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
    冷却时间: 3.5 秒
    action attack or cast time uses animation length [1]
    ExecutionerMinionLeapSlam
    攻击, 范围, 近战, Slam, 图腾技能, 快行, Jumping, ConsumesFullyBrokenArmour
    跃击
    Base Damage: 224–336
    暴击几率: 5%
    攻击伤害: 140%
    Attack Time: 1.755 秒
    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.
    攻击伤害总增 40%
    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
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • undead description Min: 1 Max: 1 Global
  • Adds Tagsnecromancer_raisable
    monster slain flask charges granted +% [100]
    IdGenericMinionIncreasedFlaskCharges
    FamilyMonsterSlainFlaskCharges
    Domains怪物 (3)
    GenerationType传奇 (3)
    Req. level1
    Stats
  • monster slain flask charges granted +% Min: 100 Max: 100 Global
  • Craft Tagsflask